Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche einer App überlagern, bis sie vom Nutzer geschlossen werden. Sie werden normalerweise an natürlichen Übergangspunkten in den Ablauf einer App, zum Beispiel zwischen Aktivitäten oder während der Pause zwischen Level in einem Spiel. Wenn in einer App eine Interstitial-Anzeige eingeblendet wird, hat der Nutzer die Wahl. um entweder auf die Anzeige zu tippen und zur Ziel-URL zu gelangen, oder sie schließen und zurückkehren. in der App. Fallstudie.
In diesem Leitfaden erfahren Sie, wie Sie Interstitial-Anzeigen in Android- und iOS-Apps einbinden. mit dem Google Mobile Ads C++ SDK.
Vorbereitung
- Schließen Sie Jetzt starten ab.
- (Nur Android) Erfahrung mit JNI-
jobject
-Referenzen (siehe Tipps zu JNI für Android).
Verwenden Sie immer Testanzeigen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Am einfachsten laden Sie Testanzeigen mit der speziellen Test-Anzeigenblock-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 bei jeder Anfrage Testanzeigen zurückgegeben werden. können Sie es 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 zur Integration von Interstitial-Anzeigen:
- Laden Sie eine Anzeige.
- Registrieren Sie sich für Rückrufe.
- Die Anzeige einblenden und ihre Lebenszyklus-Ereignisse verarbeiten
InterstitialAd
konfigurieren
Interstitial-Anzeigen werden in InterstitialAd
-Objekten präsentiert. Der erste Schritt zur Einbindung von Interstitial-Anzeigen in Ihre App besteht also darin, ein InterstitialAd
-Objekt zu erstellen und zu initialisieren.
Fügen Sie dem C++-Code Ihrer App den folgenden Header hinzu:
#include "firebase/gma/interstial_ad.h"
Deklarieren und instanziieren Sie ein
InterstitialAd
-Objekt:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Initialisieren Sie die
InterstitialAd
-Instanz mit Ihrer übergeordneten Ansicht, die in einenAdParent
-Typ umgewandelt wurde. Die übergeordnete Ansicht ist eine JNI-jobject
-Referenz auf eine Android-Activity
oder 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);
Anstatt die Future-Funktion als Variable zu speichern, können Sie den Status des Initialisierungsvorgangs auch regelmäßig prüfen, indem Sie
InitializeLastResult()
auf dasInterstitialAd
-Objekt anwenden. Das könnte hilfreich sein zur Nachverfolgung des Initialisierungsprozesses in der globalen Spielschleife.// 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 Arbeit mit firebase::Future
finden Sie unter Mit Futures den Abschlussstatus von Methodenaufrufen überwachen.
Anzeige laden
Das Laden einer Anzeige erfolgt mit der LoadAd()
-Methode auf der
InterstitialAd
-Objekt. Die Lademethode setzt voraus, dass Sie den
InterstitialAd
-Objekt enthält, und dass Sie Ihre Anzeigenblock-ID und ein AdRequest
-Objekt haben,
-Objekt enthält. Es wird eine firebase::Future
zurückgegeben, mit der Sie den Status und das Ergebnis des Ladevorgangs überwachen können.
Im folgenden Code wird gezeigt, 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 FullScreenContentListener
-Klasse erweitern, um
Benachrichtigungen zur Präsentation von Interstitial-Anzeigen und zu Lebenszyklus-Ereignissen Ihr individuelles
Die abgeleitete FullScreenContentListener
-Klasse kann über die
InterstitialAd::SetFullScreenContentListener()
an und es wird
Rückrufe, wenn die Anzeige erfolgreich oder nicht geschaltet wird, sowie
wird er geschlossen.
Im folgenden Code wird gezeigt, wie die Klasse 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. Sobald eine Interstitial-Anzeige
angezeigt wird, kann sie nicht erneut angezeigt werden. Es empfiehlt sich, in der OnAdDismissedFullScreenContent()
-Methode Ihrer FullScreenContentListener
eine weitere Interstitial-Anzeige zu laden, damit die nächste Interstitial-Anzeige geladen wird, sobald die vorherige geschlossen wird.
Anzeige präsentieren
Interstitials sollten in natürlichen Pausen einer App eingeblendet werden.
Ein gutes Beispiel ist zwischen den Leveln eines Spiels oder nachdem der Nutzer eine Aufgabe abgeschlossen hat.
Mit FullScreenContentListener
lässt sich zwar feststellen, wann der Vollbildinhalt einer Anzeige präsentiert wurde, aber auch die von Show()
zurückgegebene Zukunft gibt an, wann die Anzeige erfolgreich ausgeliefert wurde.
firebase::Future<void> result = interstitial_ad->Show();
Best Practices
- Überlegen Sie, ob Interstitial-Anzeigen die richtige Art von Anzeigen für Ihre App sind.
- Interstitial-Anzeigen funktionieren am besten in Apps mit natürlichen Übergangspunkten. Die Abschluss einer Aufgabe in einer App, z. B. das Teilen eines Bildes oder das Abschließen eines Spiels einen solchen Punkt erstellt. Da Nutzer eine Pause in der Aktion erwarten, ist es einfach, eine Interstitial-Anzeige einzublenden, ohne die Nutzererfahrung zu beeinträchtigen. Berücksichtigen Sie, an welchen Stellen im Workflow Ihrer App Sie Interstitial-Anzeigen schalten und wie Nutzer wahrscheinlich reagieren.
- Pausieren Sie die Aktion, wenn eine Interstitial-Anzeige eingeblendet wird.
- Es gibt verschiedene Arten von Interstitial-Anzeigen: Text-, Bild-,
Video und mehr. Achten Sie darauf, dass die Verwendung einiger Ressourcen in Ihrer App ausgesetzt wird, wenn eine Interstitialanzeige eingeblendet wird, damit diese von der Anzeige genutzt werden können. Wenn Sie beispielsweise den Aufruf zum Anzeigen einer Interstitial-Anzeige starten, müssen Sie alle Audioausgaben Ihrer App pausieren. Sie können die Wiedergabe von Tönen mit der
OnAdDismissedFullScreenContent
-Methode Ihrer installiertenFullScreenContentListener
fortsetzen, die aufgerufen wird, wenn der Nutzer die Interaktion mit der Anzeige beendet hat. Außerdem sollten Sie alle intensiven Rechenaufgaben (z. B. einen Gameloop) vorübergehend anhalten, während die Anzeige ausgeliefert wird. So wird sichergestellt, dass die Grafik nicht zu langsam oder nicht reaktionsschnell ist und das Video nicht ruckelt. - Planen Sie ausreichend Zeit für das Laden ein.
- Achten Sie darauf, dass Sie Interstitial-Anzeigen zum richtigen Zeitpunkt präsentieren. Außerdem sollten Nutzer nicht lange auf das Laden der Anzeigen warten müssen. Wenn Sie die Anzeige im Voraus laden, bevor Sie sie präsentieren möchten, ist sie in Ihrer App vollständig geladen, wenn es an der Zeit ist, sie einzublenden.
- Überschütten Sie die Nutzer nicht mit Anzeigen.
- 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 Klickrate senken. Achten Sie darauf, dass Nutzende nicht so häufig wurde unterbrochen, dass sie deine App nicht mehr nutzen können.
- Verwenden Sie nicht den zukünftigen Zeitpunkt für den Ladevorgang, um das Interstitial anzuzeigen.
- Das kann zu einer schlechten Nutzererfahrung führen. Laden Sie die Anzeige stattdessen im Voraus, um sie anzuzeigen.
Zusätzliche Ressourcen
Beispiel in GitHub
- Den Quellcode unserer Beispiel-App für die Kurzanleitung finden Sie auf GitHub.
Videoanleitungen der Google Zukunftswerkstatt für mobile Anzeigen
Erfolgsgeschichten
Nächste Schritte
- Falls noch nicht geschehen, erstellen Sie einen Interstitial-Anzeigenblock im AdMob-Benutzeroberfläche:
- Weitere Informationen zur Anzeigenausrichtung und Richtlinien für Interstitial-Anzeigen.