Banneranzeigen

Banneranzeigen nehmen eine bestimmte Stelle im Layout einer App ein, entweder oben oder unten auf dem Gerätebildschirm. 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 mobilen Anzeigen geschaltet haben, sind sie ein guter Ausgangspunkt. Fallstudie

Vorbereitung

Verwenden Sie immer Testanzeigen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen anstelle von aktiven Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Am einfachsten laden Sie Testanzeigen mit der speziellen Test-Anzeigenblock-ID für Banner, die je nach Geräteplattform variiert:

  • 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 einfach durch Ihre Anzeigenblock-ID, bevor Sie Ihre App veröffentlichen.

Weitere Informationen zur Funktionsweise von Testanzeigen des 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 zu erstellen und zu platzieren.

  1. Fügen Sie dem C++ Code Ihrer App den folgenden Header hinzu:

     #include "firebase/gma/ad_view.h"
  2. Deklarieren und instanziieren Sie ein AdView-Objekt:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
  3. Erstellen Sie eine AdSize und initialisieren Sie die Anzeigenansicht mit der übergeordneten AdParent-Ansicht. Die übergeordnete Ansicht ist eine JNI-jobject-Referenz auf ein Android-Activity oder ein Verweis auf eine iOS-UIView, die in einen AdParent-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);
  4. Anstatt die Future-Funktion als Variable zu speichern, können Sie den Status des Initialisierungsvorgangs auch regelmäßig prüfen, indem Sie InitializeLastResult() auf das AdView-Objekt anwenden. 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.
      }
    
  5. 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 der AdView jederzeit nach der Initialisierung festlegen:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

Anzeige laden

Sobald die AdView initialisiert wurde, kannst du eine Anzeige laden:

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 Attribute für Informationen wie das Targeting.

Anzeige präsentieren

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 von Methoden in AdListener ist optional. Sie müssen also nur die gewünschten Methoden implementieren. 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);

In der folgenden Tabelle sind die Standardbannergrößen aufgeführt.

Größe in Punkten (BxH) 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-Bestenliste Tablets kLeaderboard
Angegebene Breite × Adaptive Höhe Adaptives Banner Smartphones und Tablets

Benutzerdefinierte Anzeigengrößen

Wenn Sie eine benutzerdefinierte Bannergröße definieren möchten, legen Sie die gewünschten Abmessungen mit dem Konstruktor firebase::gma::AdSize mit den Parametern „width“ und „height“ fest, wie hier gezeigt:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

Zusätzliche Ressourcen

Beispiel in GitHub

Erfolgsgeschichten