通过 IP 为 Google AdSense 启用测试广告

Enabling test ads by ip for Google AdSense

对于运行 Google的未点击广告的预发布报告我想将所有设备添加为例外。他们在这里给了我 ip:https://firebase.google.com/docs/test-lab/overview#testlab_and_mobile_advertising

"following IP address blocks: 108.177.6.0/24 (for physical devices) and 104.196.0.0/16 (for virtual devices)"

但是,我似乎无法弄清楚如何使用 Google AdSense 阻止它。

目前我的代码是这样的

ad = new AdRequest.Builder()
.addTestDevice("XXXXXXX")
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();

但这不起作用。我做错了什么?

IP 地址不是设备 ID - 您不能以这种方式使用 IP 地址。

您可以通过使用此页面上检查系统 属性 的代码位了解您的应用在测试实验室中是否 运行:https://firebase.google.com/docs/test-lab/android-studio

String testLabSetting =
  Settings.System.getString(context.getContentResolver(), "firebase.test.lab");
if (testLabSetting.equals("true")) {
  // Do something when running in Test Lab
}

因此,您可以改为使用它来确定是否应显示广告。您可以更进一步,使用它来构建您自己的(修饰的)AdRequest 对象,当在测试实验室中 运行 时,该对象对于 isTestDevice() 正确 returns false。