我对ADBanner
有点问题,我有3个UIViewController
,每个都有一个ADBanner
。我已经设置了这样的委托方法:
-(void)bannerViewActionDidFinish:(ADBannerView *)banner {
[UIView beginAnimations:@"animateAdBannerOn" context:nil];
banner.frame = CGRectOffset(banner.frame, 0, 320);
[UIView commitAnimations];
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
NSLog(@"Error: %@", error);
[UIView beginAnimations:@"animateAdBannerOff" context:nil];
banner.frame = CGRectOffset(banner.frame, 0, 320+banner.frame.size.height);
[UIView commitAnimations];
}
在每个UIViewController
类文件中,Im使用UIStoryboard
。委托已正确连接。
现在是问题
在最初的ViewController
中,ADBanner
会像它应该的那样加载,但当我点击它时,广告会全屏加载,但如果我点击x按钮退出广告,我会从didFailToReceiveAdWithError
中得到一个错误:NSLocalizedFailureReason=Loading throttled
和ADBanner
消失。每个ADBanner
都会发生此错误。还有一件奇怪的事情正在发生。如果我没有点击初始ViewController
中的广告,则其他2个ViewControllers
中的ADBanners
广告不会加载,并给我两次以上相同的错误。如果我点击并取消了初始ViewController
中的ADBanner
,则其他2个加载时没有出现错误,但初始中的一个加载时出现错误。
简而言之,当初始ViewControllers
ADBanner
加载其他2个NOT时,当其他2个加载初始NOT时为什么会发生这种事我觉得很奇怪。我看了文件,但如果你能拥有ADBanners
的话,我什么都没找到。
根据这个答案,苹果故意发送这个错误。他们这样做是为了确保您能够正确处理错误。此外,不应创建单独的iAd,而应在所有视图控制器中使用1。请阅读这篇关于如何创建共享iAd的文章。