我正在测试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];
答案 0 :(得分:11)
原因是我没有成功加载请求并将GADBannerView
添加到我的视图层次结构中。日志To get test ads on this device, call: request.testDevices = [NSArray arrayWithObjects:GAD_SIMULATOR_ID, nil];
将始终显示。我认为这应该是告诉开发人员如何获得测试广告的提示。
答案 1 :(得分:4)
你试过吗
request.testing = YES;
请注意,您需要在调试模式下运行才能获得测试广告。实际上我甚至不使用testDevices属性,它的工作原理。
我认为如果你没有指定测试设备,它会在每个设备上获得测试广告,如果你已经在调试模式下进行了编译。
答案 2 :(得分:2)
在调试控制台中,您应该看到类似这样的消息:
> <Google> To get test ads on this device, call: request.testDevices = @[ @"4d245710e0069eb2e3937c54e53e82c8" ];
然后你可以在你的代码中设置它:
self.adsView.adUnitID = adUnitId;
self.adsView.rootViewController = 自我;
DFPRequest * request = [DFPRequest request];request.testDevices = @ [@&#34; 4d245710e0069eb2e3937c54e53e82c8&#34;];
[self.adsView loadRequest:request];