2013-03-20 80 views
9

我正在测试AdMob。我不喜欢这样写道:无法在ios上使用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];

回答

11

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

4

你尝试

request.testing = YES; 

请注意,您需要在调试模式下运行,以获得测试广告。其实我甚至不使用testDevices属性,它的工作原理。

我想如果你没有指定测试设备,它会在每个设备上获得测试广告,如果你已经在调试模式下编译。

+0

我试过你的方法,但仍然没有运气。我已经检查过它的确处于调试模式。 – sunkehappy 2013-03-21 00:58:50

+0

谢谢,你已经帮了我,虽然你没有指出真正的原因。 – sunkehappy 2013-03-21 06:17:02

+13

'request.testing'已弃用。不要使用它。 – 2013-07-02 19:00:41

2

在调试控制台,你会看到类似这样的消息:

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

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

self.adsView.adUnitID = adUnitId设置;
self.adsView.rootViewController = self;
DFPRequest * request = [DFPRequest request];

request.testDevices = @ [@“4d245710e0069eb2e3937c54e53e82c8”];

[self.adsView loadRequest:request];