Interstitial-Anzeigen


Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche einer App abdecken, bis sie vom Nutzer geschlossen werden. Sie werden in der Regel an natürlichen Übergangspunkten innerhalb einer App eingeblendet, z. B. zwischen Aktivitäten oder während der Pause zwischen Levels in einem Spiel. Wenn in einer App eine Interstitial-Anzeige ausgeliefert wird, kann der Nutzer entweder auf die Anzeige tippen und zur Zielseite weitergeleitet werden oder die Anzeige schließen und zur App zurückkehren. Fallstudie.

In dieser Anleitung erfahren Sie, wie Sie Interstitial-Anzeigen mit dem Google Mobile Ads C++ SDK in Android- und iOS-Apps einbinden.

Vorbereitung

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen anstelle von aktiven Anzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Testanzeigen lassen sich unter Android am einfachsten mit unserer speziellen Test-Anzeigenblock-ID für Interstitials laden. Diese variiert je nach Geräteplattform:

  • Android: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

Diese IDs sind speziell so konfiguriert, dass für jede Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Ersetzen Sie sie vor der Veröffentlichung Ihrer App durch Ihre eigene Anzeigenblock-ID.

Weitere Informationen zur Funktionsweise von Testanzeigen im Mobile Ads SDK finden Sie unter Testanzeigen.

Implementierung

Die wichtigsten Schritte zum Einbinden von Interstitial-Anzeigen sind:

  1. Anzeige laden
  2. Für Callbacks registrieren
  3. Anzeige einblenden und Lebenszyklusereignisse verarbeiten

InterstitialAd konfigurieren

Interstitial-Anzeigen werden in InterstitialAd-Objekten ausgeliefert. Der erste Schritt zum Einbinden von Interstitial-Anzeigen in Ihre App besteht daher darin, ein InterstitialAd-Objekt zu erstellen und zu initialisieren.

  1. Fügen Sie dem C++-Code Ihrer App den folgenden Header hinzu:

     #include "firebase/gma/interstial_ad.h"

  2. Deklarieren und instanziieren Sie ein InterstitialAd-Objekt:

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();

  3. Initialisieren Sie die InterstitialAd-Instanz mit der übergeordneten Ansicht, die in einen AdParent-Typ umgewandelt wurde. Die übergeordnete Ansicht ist eine JNI-jobject-Referenz auf eine Android-Activity oder ein Zeiger auf eine iOS-UIView.

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
    
  4. Alternativ dazu, die Future als Variable beizubehalten, können Sie den Status des Initialisierungsvorgangs regelmäßig prüfen, indem Sie InitializeLastResult() für das InterstitialAd-Objekt aufrufen. Das kann hilfreich sein, um den Initialisierungsprozess in Ihrer globalen Spielschleife zu verfolgen.

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = interstitial_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

Weitere Informationen zur Verwendung von firebase::Future finden Sie unter Futures verwenden, um den Abschlussstatus von Methoden aufrufen zu überwachen.

Anzeige laden

Eine Anzeige wird mit der Methode LoadAd() für das InterstitialAd-Objekt geladen. Für die Lademethode muss das InterstitialAd-Objekt initialisiert sein und Sie benötigen Ihre Anzeigenblock-ID und ein AdRequest-Objekt. Es wird ein firebase::Future-Objekt zurückgegeben, mit dem Sie den Status und das Ergebnis des Ladevorgangs überwachen können.

Der folgende Code zeigt, wie eine Anzeige geladen wird, nachdem InterstitialAd erfolgreich initialisiert wurde:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);

Für Callbacks registrieren

Sie müssen die Klasse FullScreenContentListener erweitern, um Benachrichtigungen zu Ereignissen im Zusammenhang mit der Präsentation und dem Lebenszyklus von Interstitial-Anzeigen zu erhalten. Ihre benutzerdefinierte FullScreenContentListener Unterklasse kann mit der InterstitialAd::SetFullScreenContentListener() Methode registriert werden. Sie erhält Callbacks, wenn die Anzeige erfolgreich oder nicht erfolgreich präsentiert wird und wenn sie geschlossen wird.

Der folgende Code zeigt, wie Sie die Klasse erweitern und der Anzeige zuweisen:

  class ExampleFullScreenContentListener
      : public firebase::gma::FullScreenContentListener {

   public:
    ExampleFullScreenContentListener() {}

    void OnAdClicked() override {
      // This method is invoked when the user clicks the ad.
    }

    void OnAdDismissedFullScreenContent() override {
     // This method is invoked when the ad dismisses full screen content.
    }

    void OnAdFailedToShowFullScreenContent(const AdError& error) override {
      // This method is invoked when the ad failed to show full screen content.
      // Details about the error are contained within the AdError parameter.
    }

    void OnAdImpression() override {
      // This method is invoked when an impression is recorded for an ad.
    }

    void OnAdShowedFullScreenContent() override {
      // This method is invoked when the ad showed its full screen content.
    }
  };

  ExampleFullScreenContentListener* full_screen_content_listener =
    new ExampleFullScreenContentListener();
  interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);

InterstitialAd ist ein Einmalobjekt. Das bedeutet, dass eine Interstitial-Anzeige nach der Präsentation nicht noch einmal ausgeliefert werden kann. Es empfiehlt sich, eine weitere Interstitial-Anzeige in der Methode OnAdDismissedFullScreenContent() Ihres FullScreenContentListener zu laden, damit die nächste Interstitial-Anzeige geladen wird, sobald die vorherige geschlossen wurde.

Anzeige einblenden

Interstitial-Anzeigen sollten während natürlicher Pausen im Ablauf einer App eingeblendet werden, z. B. zwischen den Levels eines Spiels, oder nachdem der Nutzer eine Aufgabe abgeschlossen hat. Mit FullScreenContentListener lässt sich zwar feststellen, wann eine Anzeige ihre Vollbildinhalte präsentiert hat, aber die von Show() zurückgegebene Future signalisiert auch, wann die Anzeige erfolgreich ausgeliefert wurde.

  firebase::Future<void> result = interstitial_ad->Show();

Best Practices

Überlegen Sie, ob Interstitial-Anzeigen der richtige Anzeigentyp für Ihre App sind.
Interstitial-Anzeigen funktionieren am besten in Apps mit natürlichen Übergangspunkten. Ein solcher Punkt ist beispielsweise der Abschluss einer Aufgabe in einer App, etwa das Teilen eines Bildes oder das Beenden eines Levels in einem Spiel. Da der Nutzer eine Pause erwartet, lässt sich eine Interstitial-Anzeige präsentieren, ohne die Nutzererfahrung zu beeinträchtigen. Überlegen Sie, an welchen Stellen im Workflow Ihrer App Sie Interstitial-Anzeigen einblenden und wie der Nutzer wahrscheinlich reagieren wird.
Denken Sie daran, die Aktion zu pausieren, wenn Sie eine Interstitial-Anzeige einblenden.
Es gibt verschiedene Arten von Interstitial-Anzeigen: Text-, Bild-, Videoanzeigen und mehr. Wenn in Ihrer App eine Interstitial-Anzeige ausgeliefert wird, muss die App die Verwendung einiger Ressourcen unterbrechen, damit die Anzeige sie nutzen kann. Wenn Sie beispielsweise eine Interstitial-Anzeige einblenden, pausieren Sie die Audioausgabe Ihrer App. Sie können die Wiedergabe von Sounds in der Methode OnAdDismissedFullScreenContent Ihres installierten FullScreenContentListener fortsetzen. Diese Methode wird aufgerufen, wenn der Nutzer die Interaktion mit der Anzeige beendet hat. Außerdem sollten Sie alle rechenintensiven Aufgaben (z. B. eine Spielschleife) vorübergehend anhalten, während die Anzeige eingeblendet wird. So wird verhindert, dass der Nutzer langsame oder nicht reagierende Grafiken oder ruckelnde Videos sieht.
Planen Sie ausreichend Ladezeit ein.
Es ist wichtig, Interstitial-Anzeigen zum richtigen Zeitpunkt einzublenden. Außerdem sollte der Nutzer nicht warten müssen, bis sie geladen sind. Wenn Sie die Anzeige im Voraus laden, bevor Sie sie einblenden möchten, ist sichergestellt, dass Ihre App eine vollständig geladene Interstitial-Anzeige bereit hat, wenn es Zeit ist, sie einzublenden.
Nutzer nicht mit Anzeigen überfluten
Die Häufigkeit von Interstitial-Anzeigen in Ihrer App zu erhöhen, mag zwar eine gute Möglichkeit sein, den Umsatz zu steigern, kann aber auch die Nutzerfreundlichkeit beeinträchtigen und die Klickraten senken. Nutzer sollten bei der Verwendung der App nicht so häufig unterbrochen werden, dass sie die Lust verlieren.
Verwenden Sie die Future für den Abschluss des Ladevorgangs nicht, um das Interstitial einzublenden.
Das kann zu einer schlechten Nutzererfahrung führen. Laden Sie die Anzeige stattdessen vorab, bevor Sie sie einblenden müssen.

Zusätzliche Ressourcen

Beispiel in GitHub

Mobile Ads Garage-Videoanleitungen

Erfolgsgeschichten

Nächste Schritte