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
- Schließen Sie den Startleitfaden ab.
- (Nur Android) Kenntnisse im Umgang mit JNI
jobject
-Referenzen (siehe JNI-Tipps für Android).
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:
- Laden Sie eine Anzeige.
- Registriere dich für Callbacks.
- 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.
Fügen Sie dem C++-Code Ihrer App den folgenden Header hinzu:
#include "firebase/gma/interstial_ad.h"
Geben Sie ein
InterstitialAd
-Objekt an und instanziieren Sie es:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Initialisieren Sie die Instanz
InterstitialAd
mithilfe der Umwandlung der übergeordneten Ansicht in einenAdParent
-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);
Als Alternative zur Beibehaltung der Zukunft als Variable können Sie den Status des Initialisierungsvorgangs regelmäßig prüfen. Rufen Sie dazu
InitializeLastResult()
auf demInterstitialAd
-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 installiertenFullScreenContentListener
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
- Erstellen Sie auf der AdMob-Benutzeroberfläche einen eigenen Interstitial-Anzeigenblock, falls Sie dies noch nicht getan haben.
- Weitere Informationen zur Anzeigenausrichtung und zu Richtlinien für Interstitial-Anzeigen