gpt4 book ai didi

android - AdRequest isTestDevice 在 Android 8 的发布版本中返回 false

转载 作者:行者123 更新时间:2023-11-29 00:58:20 24 4
gpt4 key购买 nike

我正在开发一款使用 admob 展示广告的应用。我为 3 台设备添加了测试 ID(1 台运行 android 6,2 台运行 android 8),它们在 Debug模式下工作正常,被正确识别为测试设备。

AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
// My Phone
adRequestBuilder.addTestDevice("AD9EA3690D287AA4A5A75279684045A1");
//Phone2 and 3
adRequestBuilder.addTestDevice("8438F5ABA7A67FAC92A26AAED589C8F1");
adRequestBuilder.addTestDevice("ED0430F25A6DA673BF0AA414AFDD7688");
// emulator
adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
AdRequest adRequest = adRequestBuilder.build();
// get whether it's a test device to enable developer functionality.
isTest = adRequest.isTestDevice(this);

注意:这篇文章的代码已更改

但在发布版本中,2 部 android 8 手机在调用 adRequest.isTestDevice(this); 时返回 false。 android 6 手机完美运行。

我如何克服 android 8 中的这个错误?

最佳答案

我通过一些调试很快就解决了这个问题,但我等着看是否有人会发布原因。

事实证明这是一个有意的改变(就像现在 android 中的大多数错误一样)。测试设备代码是 Settings.Secure.ANDROID_ID 的 md5 散列,在 Android 8 上因用户和应用而异。 https://developer.android.com/about/versions/oreo/android-8.0-changes查看隐私部分

因为 Debug 和 Release 构建是独立的应用程序,所以它们有单独的 android_id。

这使得在发布版本上测试 admob 非常危险。

希望有一天他们会更新 AdRequest 代码来弥补这一点。

关于android - AdRequest isTestDevice 在 Android 8 的发布版本中返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52927840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com