Interstitial-Anzeigen

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

In diesem Leitfaden erfahren Sie, wie Sie Interstitial-Anzeigen mithilfe des Google Mobile Ads C++ SDK in Android- und iOS-Apps einbinden.

Voraussetzungen

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen und keine Liveanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Testanzeigen lassen sich am einfachsten mit unserer speziellen Test-ID für Interstitials laden, die je nach Geräteplattform variiert:

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

Sie wurden speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Ersetzen Sie sie einfach durch Ihre eigene Anzeigenblock-ID, bevor Sie Ihre App veröffentlichen.

Weitere Informationen zur Funktionsweise der Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen.

Implementierung

Die wichtigsten Schritte zur Integration von Interstitial-Anzeigen sind:

  1. Laden Sie eine Anzeige.
  2. Registrieren Sie sich für Rückrufe.
  3. Die Anzeige ausliefern und ihre Lebenszyklusereignisse verarbeiten

InterstitialAd konfigurieren

Interstitial-Anzeigen werden in InterstitialAd-Objekten ausgeliefert. Wenn Sie sie also in Ihre App einbinden möchten, müssen Sie zuerst ein InterstitialAd-Objekt erstellen und 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 Instanz InterstitialAd mithilfe der übergeordneten Ansicht, die in einen AdParent-Typ umgewandelt wird. Die übergeordnete Ansicht ist ein JNI-jobject-Verweis 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. Als Alternative zum Beibehalten der Zukunft als Variable können Sie den Status des Initialisierungsvorgangs regelmäßig prüfen. Rufen Sie dazu InitializeLastResult() für das Objekt InterstitialAd auf. Dies kann hilfreich sein, um den Initialisierungsprozess in deiner globalen Spielschleife nachzuverfolgen.

    // 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 Mit Futures den Abschlussstatus von Methodenaufrufen überwachen.

Anzeige laden

Eine Anzeige wird mit der Methode LoadAd() des InterstitialAd-Objekts geladen. Für die Lademethode müssen Sie das InterstitialAd-Objekt initialisiert, die Anzeigenblock-ID und ein AdRequest-Objekt haben. Ein firebase::Future wird 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 Rückrufe registrieren

Sie müssen die FullScreenContentListener-Klasse erweitern, um Benachrichtigungen über die Präsentation von Interstitial-Anzeigen und Lebenszyklusereignisse zu erhalten. Ihre benutzerdefinierte abgeleitete Klasse FullScreenContentListener kann über die Methode InterstitialAd::SetFullScreenContentListener() registriert werden. Sie erhält Callbacks, wenn die Anzeige erfolgreich oder nicht erfolgreich ausgeliefert wird oder wenn sie geschlossen wird.

Der folgende Code zeigt, wie der Kurs erweitert und der Anzeige zugewiesen wird:

  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 Objekt zur einmaligen Verwendung. Das bedeutet, dass eine Interstitial-Anzeige nicht noch einmal eingeblendet werden kann. Es empfiehlt sich, eine weitere Interstitial-Anzeige in die Methode OnAdDismissedFullScreenContent() des FullScreenContentListener-Elements zu laden. Dann wird die nächste Interstitial-Anzeige geladen, sobald die vorherige geschlossen wird.

Anzeige einblenden

Interstitials sollten während natürlicher Pausen im App-Ablauf eingeblendet werden. Ein gutes Beispiel sind die zwischen den Leveln eines Spiels oder nachdem der Nutzer eine Aufgabe abgeschlossen hat. Mit dem FullScreenContentListener lässt sich zwar bestimmen, wann eine Anzeige im Vollbildmodus zu sehen ist. Der von Show() zurückgegebene Wert gibt aber auch an, wann die Anzeige erfolgreich ausgeliefert wurde.

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

Best Practices

Überlegen Sie, ob Interstitial-Anzeigen der richtige Typ für Ihre App sind.
Interstitial-Anzeigen funktionieren am besten in Apps mit natürlichen Übergangspunkten. Wenn eine Aufgabe innerhalb einer App abgeschlossen wird, z. B. ein Bild teilen oder ein Level in einem Spiel abschließen, ergibt sich daraus ein solcher Punkt. Da der Nutzer eine Unterbrechung der Aktion erwartet, kann eine Interstitial-Anzeige präsentiert werden, ohne die Nutzererfahrung zu beeinträchtigen. Sie sollten sich überlegen, an welchen Punkten im Workflow Ihrer App Interstitial-Anzeigen ausgeliefert werden und wie der Nutzer wahrscheinlich darauf reagieren wird.
Denken Sie daran, die Aktion beim Ausliefern einer Interstitial-Anzeige zu pausieren.
Es gibt verschiedene Arten von Interstitial-Anzeigen: Text-, Bild- und Videoanzeigen. Wenn in Ihrer App Interstitial-Anzeigen eingeblendet werden, dürfen auch einige Ressourcen nicht mehr genutzt werden, damit diese von der Anzeige genutzt werden können. Wenn Sie beispielsweise die Auslieferung einer Interstitial-Anzeige starten, muss die Audioausgabe Ihrer App pausiert werden. Sie können die Wiedergabe mit der Methode OnAdDismissedFullScreenContent der installierten FullScreenContentListener fortsetzen, die aufgerufen wird, wenn der Nutzer die Interaktion mit der Anzeige beendet hat. Außerdem sollten Sie intensive Rechenaufgaben (z. B. eine Spielschleife) vorübergehend anhalten, während die Anzeige eingeblendet wird. So wird sichergestellt, dass keine langsamen oder nicht reagierenden Grafiken oder ein stotterndes Video für den Nutzer zu sehen ist.
Warten Sie ausreichend lange.
Interstitial-Anzeigen sollten zum richtigen Zeitpunkt eingeblendet werden und Nutzer müssen nicht warten, bis sie geladen sind. Wenn Sie die Anzeige vorab laden, bevor sie ausgeliefert werden soll, kann dafür gesorgt werden, dass in Ihrer App eine vollständig geladene Interstitial-Anzeige zur Auslieferung bereitsteht.
Überfluten Sie den Nutzer nicht mit Werbung.
Das Erhöhen der Häufigkeit von Interstitial-Anzeigen in Ihrer App scheint eine gute Möglichkeit zur Umsatzsteigerung zu sein. Es kann aber auch die Nutzererfahrung beeinträchtigen und die Klickrate senken. Achte darauf, dass Nutzer nicht so häufig unterbrochen werden, dass sie die Nutzung deiner App nicht mehr nutzen können.
Verwenden Sie nicht den zukünftigen Ladeabschluss, um die Interstitial-Anzeige auszuliefern.
Dies kann die Nutzerfreundlichkeit beeinträchtigen. Laden Sie die Anzeige stattdessen vorab, bevor sie ausgeliefert werden muss.

Zusätzliche Ressourcen

Beispiel in GitHub

Videoanleitungen der Garage für mobile Anzeigen

Erfolgsgeschichten

Nächste Schritte