更新Google Ads SDK后不建议使用addTestDevice,如何解决?


14

更新后Google Ads SDK to 19.0.0给出了不赞成使用的警告消息addTestDevice(),但我搜索了此链接以解决此问题,但未成功。那么如何解决。

这是我的代码

   mAdView.loadAd(new  RequestConfiguration.Builder
          .setTestDeviceIds(AdRequest.DEVICE_ID_EMULATOR) // show error
          .setTestDeviceIds(DEV_ID) // show error
          .build());

和开发者网站建议

// Deprecated AdRequest.Builder.addTestDevice().Use 
   RequestConfiguration.Builder.setTestDeviceIds() instead.

Answers:


30

我确实是这样的:

List<String> testDevices = new ArrayList<>();
testDevices.add(AdRequest.DEVICE_ID_EMULATOR);

RequestConfiguration requestConfiguration
    = new RequestConfiguration.Builder()
        .setTestDeviceIds(testDevices)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Adview adView = new AdView(context);
// ... invoke some methods of adView ...
adView.loadAd(new AdRequest.Builder().build());

官方的参考资料说a RequestConfiguration是将用于每个服务器的Global配置AdRequest。据我了解,一旦有了setRequestConfiguration(),您AdRequest就不需要再单独设置测试设备了。


每个活动都需要RequestConfiguration吗?
attaullah

@Attaullah是的,我是这样认为的。因为AdView的参数是Activity的Context。但是我对“全局”一词一无所知,它明确地表示活动范围或应用程序范围。
Hata

1
如果我是真的,那么在第一个Activity中就需要RequestConfiguration。
TimWeb

请注意,根据开发人员页面:“ Android模拟器自动配置为测试设备。”
Armando Marques Sobrinho

我在MainActivity使用了此配置,并且不同活动中的所有广告现在都有一个黑色的“测试广告”框。因此,此配置只能设置一次。
maniek099

1
  String testDeviceId = "xxx";

final RequestConfiguration.Builder requestConfigurationBuilder = new RequestConfiguration.Builder(); 

requestConfigurationBuilder.setTestDeviceIds(Collections.singletonList(testDeviceId)).build();

final RequestConfiguration requestConfiguration = requestConfigurationBuilder.build();

MobileAds.setRequestConfiguration(requestConfiguration);

adLoader.loadAd(new AdRequest.Builder().build());

-3

无论Google Ads的应用程序ID是什么,您都可以将Unit id的广告设置为“ ca-app-pub-3940256099942544/6300978111”,从而显示测试广告

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.