我使用下面的代码:

let request : GADRequest = GADRequest ()

request.testDevices = ["xxxxxxx",kGADSimulatorID]

但我收到以下警告:

不推荐使用“testDevices”:使用 GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers。

我是否使用语法来删除警告?

#1楼 票数:12 已采纳

你应该使用这个:

GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers = ["YOUR IDENTIFIER PRINTED ON DEBUGGER"]

代替:

request.testDevices = ["YOUR IDENTIFIER PRINTED ON DEBUGGER"]

#2楼 票数:2

快速解决方案

原来, AdMob / GoogleAdManager deviceId可以通过计算找到MD5的的advertisingIdentifier 通过这种方式,您可以在代码中检索和使用测试deviceId ,而无需事先从控制台日志中获取设备标识符。

为了避免使用 ObjC-Swift 桥接头(通过<CommonCrypto/CommonCrypto.h>获取 MD5)的<CommonCrypto/CommonCrypto.h> ,我建议在CommonCrypto框架周围使用 Swift 包装器,例如这个:

使用上述框架(它向String添加扩展属性以计算 MD5 散列),查询很简单:

GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers ?? []).contains(ASIdentifierManager.shared().advertisingIdentifier.uuidString.md5)

#3楼 票数:1

使用语法删除警告:

GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers

#4楼 票数:1

你根本不需要设置这个。 正如 AdMob 开发人员文档所说:

iOS 模拟器会自动配置为测试设备。

来源: https : //developers.google.com/admob/ios/test-ads#enable_test_devices

#5楼 票数:0

这是对10623169答案的修改。

要获取当前设备的有效 ID,可以在“testDevices”中设置,获取其MD5UIDevice.current.identifierForVendor?.uuidString

如果用户未授予跟踪权限,则asIdentifier值可能完全无效。 但是UIDevice.current.identifierForVendor是应用程序的有效 UUID,它将在启动时持续存在(但如果您删除应用程序并重新安装,则可能不会)。

#6楼 票数:-1

如果您使用情节提要然后在情节提要中创建视图分配横幅类,那么您的广告将正常工作。

  ask by Mahmut K. translate from so

未解决问题?本站智能推荐:

1回复

Google Admob测试设备错误

我是向移动应用添加广告的新手,而我也开始学习有关向我的iOS应用添加广告的Google教程。 我已按照他们的指示进行操作,但是在构建应用程序时遇到错误。 我只想在我的应用程序中向所有用户展示一个插页式广告。 我正在使用Google admob的发布者ID。 这是我的代码: 我在t
1回复

为什么我的 admob 插页式广告在 xcode 模拟器中可以正常工作,但在我的测试设备(iphone 4s 和 ipod 5th gen)上却不能正常工作?

所以我有这个应用程序,它同时包含一个 admob 横幅广告和一个插页式广告。 横幅在所有屏幕上运行良好。 插页式广告应该只在一个屏幕上加载——当我在 xcode 模拟器中测试它时它加载得很好。 但是当我在我的 iPhone 和 iPod 上测试时,interestital 没有加载,我收到这个错误:
2回复

测试设备标识符的 AdMob kGADSimulatorID 编译错误

在运行集成了 AdMob 横幅的应用程序时,我收到以下消息: 但是,如果我将其转换为 Swift 5,如下所示: 我收到一个编译错误: kGADSimulatorID的定义是 所以我不确定如何将其转换为字符串?
1回复

adMob无法在真实设备上使用测试广告

我已经在我的应用中添加了代码以添加admob.test adunit在模拟器上而不是在真实设备上提供测试广告,尽管我在测试设备中添加了设备ID。 我在此链接上找到了答案,但这与没有显示真实广告有关。 但就我而言,它也没有展示测试广告。 这是我正在使用的代码。
2回复

什么类型的哈希是AdMob的测试设备ID?

AdMob的测试设备ID哈希是什么? 我有设备号。 但哈希并没有哈希这个数字。
1回复

Admob导出后使用测试设备

在两年前,我在编码时测试实时广告时被停职了,我很高兴现在重新获得了我的admob帐户。 因此,这次我要确保我做的步骤正确。 1)为了测试,我使用了谷歌参考banner_ad_unit_id 2)我知道我也可以使用我的设备ID或模拟器 3)但是我需要在导出之前对此发表评论,如
3回复

AdMob测试设备有什么意义?

我可以看到有一些测试ID用于测试Android设备中的AdMob广告。 我知道如何从log cat获取测试ID。 使用语句adRequest.addTestDevice("TEST_DEVICE_ID");测试Android设备中的广告有何不同adRequest.addTestDevic
1回复

在iOS上测试AdMob

在iOS应用中开始使用AdMob ,我有这样一个问题: 当我测试我的应用程序时,我不应该使用真正的添加。 为此,我使用: 一切都很好。 但我读过我也可以使用这个添加我的设备进行测试: 使用第一种方式和第二种方式有什么区别? 我试过,可以看到第二种方式,我似乎得到了