我正在尝试使用Google的测试广告单元使用Google的DFP SDK调试和开发我的应用。这样做需要将设备的标识符(如Google定义的那样)添加到DFPRequest对象的request.testDevices[]
属性中。
DFP SDK的最新版本添加了一条日志消息以显示当前设备的ID,并添加了对kGADSimulatorID
的支持,以便在SIM卡中运行。这允许开发人员运行应用程序,从控制台复制设备ID,然后修改代码以将其添加到testDevices[]
阵列。但是,在运行时检测ID并且始终注册当前设备以接收测试广告时,不存在任何文档或工具。
如何获得相当于Google的-[GADDevice deviceIdentifier]
调用(这不是公共方法),这是我可以添加到testDevices[]
数组并让我的应用始终调用的ID在任何设备上测试广告?
答案 0 :(得分:2)
Google的SDK使用规定的[ASIdentifierManager sharedManager].advertisingIdentifier
属性作为其标识符的基础。然后,它从广告标识符创建MD5哈希。因此,如果设置了isUsingTestAds
标记,则以下代码允许我的应用在其运行的任何设备上调用测试广告:
DFPRequest *request = [DFPRequest request];
...
if (isUsingTestAds) {
NSString *currentDeviceID = [self md5WithString:[[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString]];
request.testDevices = @[ kGADSimulatorID, // iOS simulator
currentDeviceID
];
...
md5WithString
函数是通用的,几乎可以在任何地方使用。