我使用的是GoogleMobileAdsSDKiOS 7.0.0。我按照Google的AdMob说明设置了AdMob,然后我遵循了调解说明。使用iAd / AdMob进行调解在模拟器上运行良好,但从不在设备上运行。 iAd几乎从未失败,当AdMob测试横幅从未加载时。
- (void)viewDidLoad
{
[super viewDidLoad];
self.adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 60, 320, 50)];
self.adView.delegate = self;
[self.view addSubview:adView];
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
self.adView.hidden=YES;
NSLog(@"Google Mobile Ads SDK version: %@7.0.0", [GADRequest sdkVersion]);
self.adBanner_=[[GADBannerView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
self.adBanner_.adUnitID = @"my-ID";
self.adBanner_.rootViewController=self;
[self.view addSubview:self.adBanner_];
GADRequest *request =[GADRequest request];
request.testDevices = @[ @"2077ef9a63d2b398840261c8221a0c9b"];
[self.adBanner_ loadRequest:request];
}
我还尝试使用bannerViewDidLoadAd来显示广告加载,但只是同时加载了AdMob和iAd,因此我无法使用bannerViewDidLoadAd。
我无法弄清楚为什么AdMob / iAd不会在设备上进行调解,但在模拟器上工作得非常好。无法弄清楚为什么AdMob从不在设备上加载测试横幅。
答案 0 :(得分:1)
您应该在viewDidLoad中隐藏广告,然后在bannerViewDidLoadAd中取消隐藏它。但是,您的代码看起来很好。根据我对iad / admob中介的体验,iAd在实际设备上的失败时间比在模拟器上失败的时间要长。在实际设备上,您会在iAd失败后看到AdMob将加载但是我会在它发生之前花费时间而不是在模拟器上,只要iAd失败,AdMob就会加载。在设备上不是这样。这就是我如何拥有它。测试一下,等一下。