Sti*_*Sti 5 error-handling cocoa-touch admob ios iad
我正在使用它AdMob作为备份iAd,但是我很难找到是否AdMob能够提供.. iAd我可以查看isBannerLoaded或者其他什么,但不能用AdMob.. 但无论如何,我现在一切正常,除非没有互联网连接!如果iAd无法加载广告和电话didFailToReceiveAdWithError,那么我会启动广告AdMob.在测试时,我使用的错误原因是"没有互联网连接",但AdMob不会调用它自己的didFailToReceiveAdWithError.似乎没有互联网连接不是AdMob(GADBannerView*)的错误
如何判断GADBannerView是否失败?
编辑
好的,所以这里基本上是我的代码:
-(void)viewDidLoad
{
[super viewDidLoad];
[self initiAdBanner];
[self initAdMobBanner];
}
-(void)initAdMobBanner{}//initiates variable adMobBannerView(GADBannerView)
-(void)initiAdBanner{}//initiates variable iAdBannerView(ADBannerView)
-(void)hideBanner:(UIView*)banner{} //hides banner if visible
-(void)showBanner:(UIView*)banner{} //shows banner if hidden
//blah blah
-(void)adView:(GADBannerView*)banner didFailToReceiveAdWithError:(GADRequestError*)error
{
//Never gets called, should be called when both iAd and AdMob fails.
NSLog(@"AdMobBanner failed.");
[self hideBanner:banner];
}
-(void)bannerView:(ADBannerView*)banner didFailToReceiveAdWithError:(NSError*)error
{
//If iAd fails, due to no internet connection or whatever, then it calls this.
[self adMobRequest];
[self hideBanner:iAdBannerView];
[self showBanner:adMobBannerView];
}
Run Code Online (Sandbox Code Playgroud)
当iAd失败并要求时(ADBannerView*)didFailToReceiveAdWithError,我启动了AdMob,但当没有互联网连接时,AdMob将不会调用(GADBannerView*)didFailToReceiveAdWithError.为什么?
didFailToReceiveAdWithError如果没有互联网连接,AdMob 将调用。确保注册委托来侦听回调方法:
[bannerView_ setDelegate:self];
您还应该考虑AdMob 中介,而不是尝试推出自己的中介解决方案。您只需在 AdMob UI 中创建中介展示位置,将iAd 适配器添加到您的项目中,并使用中介展示位置 ID 请求广告,即可为您完成通过不同网络展示的广告。