9

我正在测试 AdMob。我这样做:

AdManager *adManager = [AdManager sharedAdManager];
adManager.gadBannerView.adUnitID = @"a1514981c9444a4";
adManager.gadBannerView.rootViewController = self;
adManager.gadBannerView.delegate = self;
[adManager.gadBannerView setOriginY:self.view.frame.size.height-adManager.gadBannerView.frame.size.height];
[self.view addSubview:adManager.adBannerView];


GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:@"CECADC69-4A6B-4BB4-BF24-CACDA871B44A", nil];
[adManager.gadBannerView loadRequest:request];

而@"CECAD..." GAD_SIMULATOR_ID。当我在模拟器上进行测试时,我总是在控制台中收到错误。在我的设备上也出现同样的错误。iOS版本为6.0+。即使我删除request.testDevices = ...,我也无法获得任何广告。

“Google”:要在此设备上获取测试广告,请调用:request.testDevices = [NSArray arrayWithObjects:GAD_SIMULATOR_ID, nil];

4

3 回答 3

11

原因是我没有成功加载请求并将其添加GADBannerView到我的视图层次结构中。该日志To get test ads on this device, call: request.testDevices = [NSArray arrayWithObjects:GAD_SIMULATOR_ID, nil];将始终显示。我认为这应该是告诉开发人员如何获取测试广告的提示。

于 2013-03-21T06:16:09.023 回答
3

你试过了吗

request.testing = YES;

请注意,您需要在调试模式下运行才能获得测试广告。实际上我什至不使用 testDevices 属性并且它有效。

我认为如果你不指定测试设备,它会在每个设备上获得测试广告,如果你在调试模式下编译。

于 2013-03-20T15:10:30.243 回答
2

在调试控制台中,您应该会看到类似于以下内容的消息:

>     <Google> To get test ads on this device, call: request.testDevices = @[ @"4d245710e0069eb2e3937c54e53e82c8" ];

然后你可以在你的代码中设置它:

self.adsView.adUnitID = adUnitId;
self.adsView.rootViewController = 自我;
DFPRequest *request = [DFPRequest 请求];

request.testDevices = @[ @"4d245710e0069eb2e3937c54e53e82c8"];

[self.adsView loadRequest:request];

于 2015-06-11T10:46:28.190 回答