Banneranzeigen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Banneranzeigen werden oben oder unten auf dem Gerätebildschirm an einer bestimmten Stelle im App-Layout platziert. 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 sie ein guter Ausgangspunkt. Fallstudie

Voraussetzungen

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen statt Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Die einfachste Methode zum Laden von Testanzeigen ist das Verwenden der entsprechenden Testanzeigenblock-ID für Banner, die je nach Geräteplattform variieren kann:

  • 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 dann beim Programmieren, Testen und Debuggen in eigenen Apps verwenden. Ersetzen Sie sie vor der Veröffentlichung Ihrer App einfach durch Ihre eigene Anzeigenblock-ID.

Weitere Informationen zur Funktionsweise der Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen.

Implementierung

AdView konfigurieren

Banneranzeigen werden in Objekten vom Typ AdView angezeigt. Der erste Schritt zur Einbindung von Banneranzeigen besteht daher darin, ein AdView zu erstellen und zu positionieren.

  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 mithilfe der übergeordneten Ansicht AdParent. Die übergeordnete Ansicht ist ein JNI-jobject-Verweis auf ein Android-Activity oder ein Verweis auf ein iOS-UIView, das 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(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
    
  4. Als Alternative zur Beibehaltung der Zukunft als Variable können Sie den Status des Initialisierungsvorgangs regelmäßig prüfen. Rufen Sie dazu InitializeLastResult() für das Objekt AdView 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 = 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 zum Arbeiten mit firebase::Future finden Sie unter Futures verwenden, um den Abschlussstatus von Methodenaufrufen zu überwachen.

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

Anzeige einblenden

Blenden Sie die Anzeige auf dem Bildschirm ein, 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 enthält die Klasse AdListener, die Sie erweitern und an AdView::SetListener() übergeben können, um über Änderungen des Anzeigenaufrufstatus benachrichtigt zu werden.

Das Erweitern von Methoden in AdListener ist optional. Sie müssen also nur die gewünschten Methoden implementieren. Hier ein Beispiel für eine Implementierung einer Klasse, die alle Methodenklassen 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 standardmäßigen Bannergrößen aufgeführt.

Größe in Punkten (B x H) Beschreibung Verfügbarkeit firebase::gma::AdSize-Konstante
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-Banner in Originalgröße Tablets kFullBanner
728 × 90 IAB-Bestenliste Tablets kLeaderboard
Angegebene Breite x 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 und den Parametern für Breite und Höhe fest, wie hier gezeigt:

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

Weitere Informationen

Beispiel in GitHub

Erfolgsgeschichten