Interstitial-Anzeigen

Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche einer App verdecken, bis sie vom Nutzer geschlossen werden. Sie werden in der Regel an natürlichen Übergangspunkten innerhalb einer App angezeigt, z. B. zwischen Aktivitäten oder während der Pause zwischen Leveln in einem Spiel. Wenn in einer App eine Interstitial-Anzeige eingeblendet wird, kann der Nutzer entweder auf die Anzeige tippen und zum Ziel weitergeleitet werden 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 statt Live-Produktionsanzeigen. Sollten Sie dies nicht tun, kann Ihr Konto gesperrt werden.

Die einfachste Methode zum Laden von Testanzeigen ist das Verwenden unserer eigenen Testanzeigen-ID für Interstitials, die je nach Geräteplattform variiert:

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

Sie wurden speziell so konfiguriert, dass für jede Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debugging in eigenen Apps verwenden. Ersetze sie einfach mit deiner eigenen Anzeigenblock-ID, bevor du deine App veröffentlichst.

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

Implementierung

Die wichtigsten Schritte zum Integrieren von Interstitial-Anzeigen sind:

  1. Laden Sie eine Anzeige.
  2. Registriere dich für Callbacks.
  3. Anzeige schalten und Lebenszyklusereignisse verarbeiten

InterstitialAd konfigurieren

Interstitial-Anzeigen werden in InterstitialAd-Objekten angezeigt. Im ersten Schritt zur Einbindung von Interstitial-Anzeigen in Ihre App müssen Sie daher 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. Geben Sie ein InterstitialAd-Objekt an und instanziieren Sie es:

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

  3. Initialisieren Sie die Instanz InterstitialAd mithilfe der Umwandlung der übergeordneten Ansicht in einen AdParent-Typ. Die übergeordnete Ansicht ist eine JNI-jobject-Referenz zu einem Android-Activity oder ein Verweis auf ein 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 zur Beibehaltung der Zukunft als Variable können Sie den Status des Initialisierungsvorgangs regelmäßig prüfen. Rufen Sie dazu InitializeLastResult() auf dem InterstitialAd-Objekt auf. Dies 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 zum Überwachen des Abschlussstatus von Methodenaufrufen verwenden.

Anzeige laden

Eine Anzeige wird mit der Methode LoadAd() für das Objekt InterstitialAd geladen. Für die Lademethode müssen Sie das InterstitialAd-Objekt initialisiert und Ihre Anzeigenblock-ID sowie 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 Callbacks registrieren

Sie müssen die Klasse FullScreenContentListener erweitern, um Benachrichtigungen zu Interstitial-Anzeigen und Lebenszyklusereignissen zu erhalten. Ihre benutzerdefinierte FullScreenContentListener-Unterklasse kann über die Methode InterstitialAd::SetFullScreenContentListener() registriert werden und erhält Callbacks, wenn die Anzeige erfolgreich oder nicht erfolgreich angezeigt oder abgelehnt 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 Objekt zur einmaligen Verwendung. Eine Interstitial-Anzeige kann also nicht mehr ausgeliefert werden. Eine Best Practice besteht darin, eine weitere Interstitial-Anzeige in der OnAdDismissedFullScreenContent()-Methode der FullScreenContentListener zu laden, damit die nächste Interstitial-Anzeige geladen wird, sobald die vorherige beendet wird.

Anzeige einblenden

Interstitials sollten während einer natürlichen Pause im Ablauf einer App eingeblendet werden. Zwischen Levels in einem Spiel ist ein gutes Beispiel oder nachdem der Nutzer eine Aufgabe erledigt hat. Mit FullScreenContentListener kann zwar ermittelt werden, wann eine Anzeige im Vollbildmodus ausgeliefert wurde, die von Show() zurückgegebene Anzeige gibt jedoch auch an, wann sie 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. Der Abschluss einer Aufgabe in einer Anwendung, z. B. das Teilen eines Bildes oder das Abschließen eines Levels, erstellt einen solchen Punkt. Da der Nutzer eine Unterbrechung der Aktion erwartet, kann eine Interstitial-Anzeige leicht präsentiert werden, ohne dass die Nutzererfahrung beeinträchtigt wird. Überlegen Sie sich, an welchen Stellen im Workflow Ihrer App Interstitial-Anzeigen ausgeliefert werden und wie die Nutzer wahrscheinlich reagieren werden.
Denken Sie daran, die Aktion bei der Auslieferung einer Interstitial-Anzeige zu pausieren.
Es gibt verschiedene Arten von Interstitial-Anzeigen: Textanzeigen, Bildanzeigen, Videoanzeigen und mehr. Wenn in Ihrer App eine Interstitial-Anzeige eingeblendet wird, muss auch die Nutzung einiger Ressourcen ausgesetzt werden, damit sie von der Anzeige genutzt werden kann. Wenn du beispielsweise den Aufruf zur Auslieferung einer Interstitial-Anzeige startest, solltest du die Audioausgabe pausieren, die von deiner App generiert wird. Du kannst die Tonwiedergabe in der Methode OnAdDismissedFullScreenContent deiner installierten FullScreenContentListener fortsetzen, die aufgerufen wird, sobald der Nutzer mit der Anzeige interagiert hat. Außerdem können Sie intensive Rechenaufgaben (z. B. eine Spielschleife) anhalten, während die Anzeige eingeblendet wird. Dadurch wird verhindert, dass der Nutzer langsame oder nicht reagierende Grafiken oder ruckelige Videos wahrnimmt.
Ausreichende Ladezeit
Achten Sie darauf, dass Interstitial-Anzeigen zum richtigen Zeitpunkt ausgeliefert werden. Außerdem muss der Nutzer nicht warten müssen, bis er geladen wurde. Wenn Sie die Anzeige im Voraus laden, bevor sie ausgeliefert werden soll, ist in Ihrer App eine vollständig geladene Interstitial-Anzeige bereit, wenn die Zeit zum Einblenden ist.
Überfluten Sie den Nutzer nicht mit Anzeigen.
Die Steigerung der Häufigkeit von Interstitial-Anzeigen in der App mag zwar eine hervorragende Möglichkeit zur Steigerung des Umsatzes sein, kann jedoch die Nutzerfreundlichkeit und die Klickrate verbessern. Achten Sie darauf, dass Nutzer nicht so häufig unterbrochen werden, dass sie die Nutzung Ihrer App nicht mehr genießen können.
Verwenden Sie die Interstitial-Anzeige für das Laden nicht in der Zukunft, um die Interstitial-Anzeige einzublenden.
Dies kann die Nutzererfahrung beeinträchtigen. Stattdessen sollten Sie die Anzeige vorab laden.

Weitere Informationen

Beispiel in GitHub

  • Sehen Sie sich den Quellcode unserer Beispiel-App in GitHub an.

Videoschulungen zu Google Ads für Mobilgeräte

Erfolgsgeschichten

Nächste Schritte