2015-06-19 46 views
2

我试图使用Google的测试广告单元通过Google的DFP SDK调试和开发我的应用。这样做需要将设备标识符(如Google定义的那样)添加到DFPRequest对象的request.testDevices[]属性中。为testDevices和测试广告查找Google DFP SDK设备ID

最近版本的DFP SDK添加了一条日志消息来显示当前设备的ID,并且还添加了对在SIM中运行的kGADSimulatorID的支持。这允许开发人员运行应用程序,从控制台复制设备ID,然后修改代码以将其添加到testDevices[]阵列。但是,没有文档或工具可用于在运行时检测ID,并始终注册当前设备以接收测试广告。

我该如何获得谷歌的-[GADDevice deviceIdentifier]电话(这不是公共方法)的等价物,然后我可以将其添加到testDevices[]阵列中,并使我的应用始终在任何设备上呼叫测试广告?

回答

1

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功能是通用的,可以从几乎任何地方。

+0

我不知道什么是“通用函数”。这里是类别:http://stackoverflow.com/questions/2018550/how-do-i-create-an-md5-hash-of-a-string-in-cocoa – Vaiden

相关问题