无法让 iad/adMob 在设备上进行调解



我使用的是GoogleMobileAdsDKiOS 7.0.0。我遵循了谷歌的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来显示adView加载,但这只会使AdMob和iAd同时加载,所以我不能使用bannerViewDidLoadAd。

我不明白为什么AdMob/iAd不能在设备上进行调解,但在模拟器上却能很好地工作。无法理解为什么AdMob从不在设备上加载测试横幅。

您应该在viewDidLoad中隐藏adview,然后在bannerViewDidLoadAd中取消隐藏它。不过,您的代码看起来不错。根据我使用iad/admob中介的经验,iad在实际设备上失败所需的时间比在模拟器上要长。在实际的设备上,你会看到iAd失败后,AdMob会加载,但我需要一些时间才能加载,而不是在模拟器上。设备上并非如此。我就是这么做的。测试一下,等一下。

最新更新