2013-01-03 70 views
5

我使用AdMob作爲備份iAd,但我有麻煩找出如果AdMob提供.. 隨着iAd我可以isBannerLoaded什麼檢查,但不與AdMob .. 無論如何,我就擁有了一切現在工作,除非沒有互聯網連接! 當iAd無法加載廣告,並致電didFailToReceiveAdWithError時,我啓動AdMob。在測試時,我使用的錯誤原因是「沒有互聯網連接」,但AdMob不稱其爲自己的didFailToReceiveAdWithError。 AdMob似乎沒有互聯網連接不是錯誤(GADBannerView*如何查看AdMob是否已加載廣告?

如何判斷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]; 
} 

當iAd的失敗,並呼籲(ADBannerView*)didFailToReceiveAdWithError,我開始了AdMob的,但即使世界上沒有互聯網連接,AdMob廣告贏得打電話給(GADBannerView*)didFailToReceiveAdWithError。 爲什麼?

回答

4

如果沒有互聯網連接,AdMob將調用didFailToReceiveAdWithError。請確保您註冊委託監聽回調方法:

[bannerView_ setDelegate:self];

你也應該考慮AdMob Mediation,而不是試圖推出自己的調解方案。您只需在AdMob用戶界面中創建中介展示位置,將iAd adapter添加到您的項目中,然後申請一個包含中介展示位置ID的廣告,即可爲您完成通過不同網絡展示的廣告。

+0

謝謝,我之前一直在遵循指導,他們從來沒有把'setDelegate:self',恨我沒有想到的那樣..我沒有因爲一切工作完美..奇怪。謝謝! – Sti