Banneranzeigen nehmen einen Platz im Layout einer App ein, entweder oben oder unten auf dem Gerätebildschirm. Sie bleiben auf dem Bildschirm, während die Nutzenden mit der App interagieren. und kann nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie neu bei sind sie ein guter Ausgangspunkt. Fallstudie
Vorbereitung
- Schließen Sie Jetzt starten ab.
- (Nur Android) Vorkenntnisse im Umgang mit JNI-
jobject
-Referenzen (siehe Tipps zu Android JNI).
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Die einfachste Methode zum Laden von Testanzeigen ist die Verwendung unserer speziellen Test-Anzeigenblock-ID für Banner, die je nach Geräteplattform variieren:
- Android:
ca-app-pub-3940256099942544/6300978111
- iOS:
ca-app-pub-3940256099942544/2934735716
Diese Anzeigenblock-IDs wurden speziell so konfiguriert, dass Testanzeigen für jede und können es beim Programmieren, Testen und Debugging. Ersetzen Sie sie jedoch vorher durch Ihre Anzeigenblock-ID, die Veröffentlichung Ihrer App.
Weitere Informationen zur Funktionsweise von Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen:
Implementierung
AdView
konfigurieren
Banneranzeigen werden in AdView
Objekten angezeigt. Der erste Schritt zur
Bei der Integration von Banneranzeigen erstellen und positionieren Sie einen AdView
.
Fügen Sie dem C++ Code Ihrer App den folgenden Header hinzu:
#include "firebase/gma/ad_view.h"
Deklarieren und instanziieren Sie ein
AdView
-Objekt:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
AdSize
erstellen und Anzeigenansicht mit dem übergeordneten ElementAdParent
initialisieren angezeigt wird. Die übergeordnete Ansicht ist eine JNI-jobject
-Referenz zu einem Android-Activity
. oder einen Zeiger auf eine iOS-UIView
, die in einenAdParent
-Typ umgewandelt wird:// 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
result = ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner); Anstatt die Zukunft als Variable beizubehalten, können Sie den Status des Initialisierungsvorgangs regelmäßig durch Aufrufen
InitializeLastResult()
für dasAdView
-Objekt. Dies kann hilfreich sein, um den Initialisierungsprozess in Ihrer globalen Game-Schleife im Blick zu behalten.// Monitor the status of the future in your game loop: firebase::Future<void> result = ad_view->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.
Position der Anzeige festlegen
Sie können die Position von AdView
jederzeit nach der Initialisierung festlegen:
firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);
Anzeige laden
Sie können eine Anzeige laden, sobald das AdView
initialisiert wurde:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);
AdRequest
-Objekte stellen eine einzelne Anzeigenanfrage dar und enthalten Eigenschaften für
etwa die Ausrichtung.
Anzeige einblenden
Präsentieren Sie die Anzeige schließlich auf dem Bildschirm, indem Sie Show()
aufrufen. Diese Methode kann jederzeit nach der Initialisierung der Anzeige aufgerufen werden:
firebase::Future<void> result = ad_view->Show();
Anzeigenereignisse
Das Google Mobile Ads C++ SDK bietet eine AdListener
-Klasse, die Sie erweitern und an AdView::SetListener()
übergeben können, um über Änderungen am Status der Anzeigenansicht benachrichtigt zu werden.
Das Erweitern der Methoden in AdListener
ist optional, Sie müssen also nur die Methode
Methoden auswählen. Unten finden Sie ein Beispiel für die Implementierung einer Klasse, die alle Methoden der Klasse AdListener
erweitert:
class ExampleAdListener : public firebase::gma::AdListener { public: ExampleAdListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdClosed() override { // This method is invoked when the user closes the ad. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdOpened() override { // This method is invoked when an ad opens an overlay that covers the screen. } }; ExampleAdListener* ad_listener = new ExampleAdListener(); ad_view->SetAdListener(ad_listener);
Bannergrößen
In der folgenden Tabelle sind die Standardbannergrößen aufgeführt.
Größe in Punkten (B x H) | Beschreibung | Verfügbarkeit | firebase::gma::AdSize-Konstante |
---|---|---|---|
320 x 50 | Banner | Smartphones und Tablets | kBanner |
320 × 100 | Großes Banner | Smartphones und Tablets | kLargeBanner |
300 x 250 | IAB-Medium Rectangle | Smartphones und Tablets | kMediumRectangle |
468 x 60 | IAB-Full-Size-Banner | Tablets | kFullBanner |
728 x 90 | IAB-Leaderboard | Tablets | kLeaderboard |
Angegebene Breite × Adaptive Höhe | Adaptives Banner | Smartphones und Tablets | – |
Benutzerdefinierte Anzeigengrößen
Zum Definieren einer benutzerdefinierten Bannergröße legen Sie die gewünschten Abmessungen mithilfe der
firebase::gma::AdSize
mit den Parametern für Breite und Höhe, wie hier gezeigt:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
Zusätzliche Ressourcen
Beispiel in GitHub
- Sehen Sie sich den Quellcode der Beispiel-Kurzanleitungs-App in GitHub.