2013-01-03 20 views
5

Ich verwende AdMob als Backup für iAd, aber ich habe Probleme, herauszufinden, ob AdMob liefert .. Mit iAd ich mit isBannerLoaded oder etwas überprüfen könnte, aber nicht mit AdMob .. Wie auch immer, habe ich alles bekam Jetzt arbeiten, außer wenn keine Internetverbindung besteht! Wenn iAd keine Anzeige laden kann und didFailToReceiveAdWithError aufruft, initiiere ich die AdMob. Wenn ich das teste, ist der Fehlergrund, den ich verwende, "keine Internetverbindung", aber AdMob nennt es nicht didFailToReceiveAdWithError. Es scheint, dass keine Internetverbindung für AdMob kein Fehler ist. (GADBannerView*)Wie kann ich herausfinden, ob AdMob eine Anzeige geladen hat?

Wie kann ich feststellen, ob GADBannerView fehlschlägt?

EDIT

Okay, hier ist also im Grunde Code ich habe:

-(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]; 
} 

Wenn iAd ausfällt und fordert (ADBannerView*)didFailToReceiveAdWithError, beginne ich die AdMob, aber wenn Theres keine Internetverbindung, die AdMob gewonnen Rufen Sie nicht die (GADBannerView*)didFailToReceiveAdWithError. Warum?

Antwort

4

AdMob ruft didFailToReceiveAdWithError auf, wenn keine Internetverbindung besteht. Stellen Sie sicher, dass Sie die Delegaten registrieren für Callback-Methoden zu hören:

[bannerView_ setDelegate:self];

Sie auch AdMob Mediation anstatt zu versuchen, Ihre eigene Vermittlungslösung zu rollen in Betracht ziehen sollten. Sie können einfach ein Vermittlungs-Placement auf der AdMob-Benutzeroberfläche erstellen, das Projekt iAd adapter zu Ihrem Projekt hinzufügen und eine Anzeige mit der Vermittlungs-Placement-ID anfordern. Die Anzeige, die über verschiedene Netzwerke geschaltet wird, wird für Sie erledigt.

+0

Danke, ich folgte einem Führer vor, und sie setzen nie 'setDelegate: self' ein, hassen, dass ich nicht daran gedacht hatte, nach dem zu suchen .. Ich tat nicht, weil alles andere perfekt funktionierte .. komisch. Vielen Dank! – Sti

Verwandte Themen