Banneranzeigen

Banneranzeigen nehmen einen Platz im Layout der 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 nicht mit mobiler Werbung vertraut sind, ist das ein guter Ausgangspunkt. Fallstudie

Voraussetzungen

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 die Verwendung unserer 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 für jede Anfrage Testanzeigen zurückgegeben werden. Sie können diese Codecodes auch in Ihren eigenen Apps beim Programmieren, Testen und Debuggen 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

AdView konfigurieren

Banneranzeigen werden in AdView-Objekten angezeigt. Der erste Schritt zur Integration von Banneranzeigen ist daher die Erstellung und Positionierung einer AdView.

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

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

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. Erstellen Sie einen AdSize und initialisieren Sie die Anzeigenansicht mit 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. Alternativ zur Beibehaltung der Zukunft als Variable können Sie den Status des Initialisierungsvorgangs regelmäßig prüfen. Rufen Sie dazu InitializeLastResult() auf dem AdView-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 = 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 Verwendung von firebase::Future finden Sie unter Futures zum Überwachen des Abschlussstatus von Methodenaufrufen verwenden.

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, nachdem 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 Ausrichtung.

Anzeige einblenden

Rufen Sie schließlich die Anzeige auf dem Bildschirm auf, indem Sie Show() aufrufen. 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 des Status der Anzeigenansicht informiert zu werden.

Das Erweitern von Methoden in AdListener ist optional. Sie müssen nur die gewünschten Methoden implementieren. Im Folgenden finden Sie ein Beispiel für die Implementierung einer Klasse, die alle Methodenklassen von 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 Standardgrößen für Banner 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-Leaderboard 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 Parameter firebase::gma::AdSize mit 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