安卓开发工具Android Studio出现无法解决符号‘RequestConfiguration’的错误

4

我正在修改一个之前能正常工作的安卓应用程序,但是测试广告不再加载,在Android Studio中的日志中我看到:

使用RequestConfiguration.Builder()。setTestDeviceIds(Arrays.asList(“8B…D76C”))在此设备上获取测试广告。

我尝试将其添加到代码中,但是我收到“无法解析符号'RequestConfiguration'” 的错误提示。不幸的是,Android Studio没有提供需要导入的包。

这是在添加所请求的行后代码的样子。

RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("device_id_3");

AdRequest adRequest = new AdRequest.Builder()
      // Add a test device to show Test Ads
      .addTestDevice(“device_id_1") 
      .addTestDevice("device_id_2")
      .addTestDevice("device_id_3") 
      .build();

// Load ads into Banner Ads
adView.loadAd(adRequest);
3个回答

6
如果您查看AdMob文档,就不需要使用Firebase。请参考https://developers.google.com/admob/android/test-ads#enable_test_devices,您需要添加以下代码,而不是在log cat中看到的建议代码。
List<String> testDeviceIds = Arrays.asList("<<< copy the device ID from logcat here >>>");
RequestConfiguration configuration =
    new RequestConfiguration.Builder().setTestDeviceIds(testDeviceIds).build();
MobileAds.setRequestConfiguration(configuration);

1

解决:

必须将以下内容添加到 build.gradle 文件中:

implementation 'com.google.firebase:firebase-ads:18.3.0'


0

我相信你需要在RequestConfiguration.builder() 上运行.build()方法。

这个builder只是一个静态类,通过.build()方法配置并返回RequestConfiguration对象。 我非常确定控制台告诉你“以通常的迂回方式”,你需要一个RequestConfiguration实例。

如果仍然无法正常工作,请尝试将其分配给属性:

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
                                                     .ToBuilder()
                                                     .build ();

祝你好运。根据我的经验,添加广告通常是 Android 构建过程中最烦人的部分(在你的情况下,整个生命周期都是!XD)


我认为在Java文件的开头还应该导入适当的包。通常情况下,Android Studio会建议导入什么,但对于RequestConfiguration则不会。我需要在build.gradle中添加任何新的内容吗? - P.Zaccaria
每当您使用API中的类时,都必须导入该包。不这样做有点像编写自己的类,在另一个类中引用它(使用它),但在运行程序之前删除第一个类。当Android遇到对该类的任何引用时,它将不知道您在说什么。这就是您最初出错的原因。您正在引用不存在的东西(在您的情况下是一个对象)。无论如何,祝你好运。至于构建配置,我不确定。 - Nate T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接