Banneranzeigen werden an einer bestimmten Stelle im Layout einer App platziert, entweder oben oder unten auf dem Bildschirm des Geräts. Sie bleiben auf dem Bildschirm, während Nutzer mit der App interagieren, und können nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie noch keine Erfahrung mit mobiler Werbung haben, sind Banneranzeigen ein guter Ausgangspunkt. Fallstudie.
Vorbereitung
- Führen Sie die Schritte unter Erste Schritte aus.
- (Nur Android) Sie sollten mit JNI-
jobjectReferenzen vertraut sein (siehe Android JNI tips).
Immer mit Testanzeigen testen
Verwenden Sie beim Erstellen und Testen Ihrer Apps immer Testanzeigen anstelle von aktiven Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Testanzeigen lassen sich am einfachsten mit unserer speziellen Test-Anzeigenblock-ID für Banner laden. Diese variiert je nach Geräteplattform:
- Android:
ca-app-pub-3940256099942544/6300978111 - iOS:
ca-app-pub-3940256099942544/2934735716
Diese Anzeigenblock-IDs 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 vor der Veröffentlichung Ihrer App einfach durch Ihre eigene Anzeigenblock-ID.
Weitere Informationen zur Funktionsweise von Testanzeigen im Mobile Ads SDK finden Sie unter Testanzeigen.
Implementierung
AdView konfigurieren
Banneranzeigen werden in AdView-Objekten ausgeliefert. Der erste Schritt zur Einbindung von Banneranzeigen besteht also darin, ein AdView-Objekt zu erstellen und zu positionieren.
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();
Erstellen Sie eine
AdSizeund initialisieren Sie die Anzeigenansicht mit der übergeordneten AnsichtAdParent. Die übergeordnete Ansicht ist eine JNI-jobject-Referenz auf eine Android-Activityoder ein Zeiger auf eine iOS-UIView, die in einenAdParent-Typ umgewandelt wurde:// 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); Alternativ dazu, die Zukunft als Variable beizubehalten, können Sie den Status des Initialisierungsvorgangs regelmäßig prüfen, indem Sie
InitializeLastResult()für dasAdView-Objekt aufrufen. Das kann hilfreich sein, um den Initialisierungsprozess in Ihrer globalen Spielschleife 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 Verwendung von
firebase::Futurefinden Sie unter Futures verwenden, um den Abschlussstatus von Methoden aufrufen zu beobachten.
Anzeigenposition 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 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 Informationen wie Targeting.
Anzeige ausliefern
Rufen Sie schließlich Show() auf, um die Anzeige auf dem Bildschirm auszuliefern. Diese Methode kann jederzeit aufgerufen werden, nachdem die Anzeige initialisiert wurde:
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 von Methoden in AdListener ist optional. Sie müssen also nur die gewünschten Methoden implementieren. Im Folgenden finden Sie eine Beispielimplementierung einer Klasse, die alle Methoden der AdListener-Klasse 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 × H) | Beschreibung | Verfügbarkeit | Konstante für firebase::gma::AdSize |
|---|---|---|---|
| 320 × 50 | Banner | Smartphones und Tablets | kBanner |
| 320 × 100 | Großes Banner | Smartphones und Tablets | kLargeBanner |
| 300 × 250 | IAB Medium Rectangle | Smartphones und Tablets | kMediumRectangle |
| 468 × 60 | IAB Full-Size Banner | Tablets | kFullBanner |
| 728 × 90 | IAB Leaderboard | Tablets | kLeaderboard |
| Angegebene Breite × Adaptive Höhe | Adaptives Banner | Smartphones und Tablets | – |
Benutzerdefinierte Anzeigengrößen
Wenn Sie eine benutzerdefinierte Bannergröße festlegen möchten, geben Sie die gewünschten Abmessungen mit dem
firebase::gma::AdSize
Konstruktor an, wie hier gezeigt:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
Zusätzliche Ressourcen
Beispiel in GitHub
- Quellcode unserer Beispiel-App für die Kurzanleitung auf GitHub ansehen