2016-04-12 9 views
0

Ich habe Facebook-Publikum Netzwerk integriert Anzeigen zu schalten,Ersten Absturz in Audience Netzwerk Facebook, während Anzeige zeigt

Code:

if (fbInterstitialAd.isAdValid == YES) { 
    [fbInterstitialAd showAdFromRootViewController:viewController]; 
} 

aber immer diesen Absturz während Anzeige zeigt:

*** Terminating app due to uncaught exception 'InvalidOperationException', reason: 'showAdFromRootViewController may only be called once' 

Hinweis:

Antwort

1

Derzeit FBInterstitialAd begrenzt ist nur einmal zu zeigen. Wenn eine App versucht, sie mehr als einmal anzuzeigen, wird die "InvalidOperationException" ausgelöst.

Zuerst fügen Sie try/catch um die Methode '[fbInterstitialAd showAdFromRootViewController: viewController];' um einen Absturz zu vermeiden.

Zweitens, um Ihre Integration zu überprüfen und sicherzustellen, dass das Objekt 'fbInterstitialAd' nicht mehr als einmal angezeigt wird.

+0

Vielen Dank für Ihre Antwort, ich werde versuchen, Fang dort drüben, aber wie kann ich sicherstellen, dass "fbInterstitialAd" nicht mehr als einmal angezeigt wird? Gibt es dafür eine Methode fb? –

+0

Das Objekt 'FBInterstitialAd' selbst bietet keine Methode zur Überprüfung. Eine lokale Flagge kann dazu hinzugefügt werden. Entsprechend Ihrem Code kann das Flag wie folgt verwendet werden: 'if (fbInterstitialAd.isAdValid == YES && isAlreadyViewed == FALSCH) { [fbInterstitialAd showAdFromRootViewController: viewController]; isAlreadyViewed = TRUE; } ' –

+0

Danke Jason, Versuch-Fang macht den Trick. –

1

Ich möchte Interstitial-Anzeigen auch mehr als einmal anzeigen, also ist dies mein Weg.

Wenn Interstitial-Anzeigen angezeigt wurden, wird der 'interstitialAdWillLogImpression'-Delegat aufgerufen. Ich erstelle zeitgleich neue Interstitial-Anzeigen.

+0

Sollte die akzeptierte Antwort sein. – Shahar

Verwandte Themen