Banneranzeigen

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

Banneranzeigen sind rechteckige Bild- oder Textanzeigen, die einen Platz auf dem Bildschirm einnehmen. 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

In diesem Leitfaden erfahren Sie, wie Sie Banneranzeigen von AdMob in eine Unity-App einbinden. Neben Code-Snippets und Anleitungen finden Sie hier auch Informationen zur richtigen Größenanpassung von Bannern und Links zu weiteren Ressourcen.

Voraussetzungen

BannerView erstellen

Der erste Schritt zum Anzeigen eines Banners besteht darin, ein BannerView-Objekt in einem C#-Skript zu erstellen, das an eine GameObject angehängt ist.

using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;
    ...
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize(initStatus => { });

        this.RequestBanner();
    }

    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
    }
}

Der Konstruktor für ein BannerView hat die folgenden Parameter:

  • adUnitId: die AdMob-Anzeigenblock-ID, über die BannerView Anzeigen laden soll
  • AdSize: die AdMob-Anzeigengröße, die Sie verwenden möchten. Weitere Informationen
  • AdPosition: Die Position, an der die Banneranzeige platziert werden soll. Unter AdPosition sind die gültigen Werte für die Anzeigenposition aufgelistet.

Je nach Plattform ist zu beachten, wie unterschiedliche Anzeigenblöcke verwendet werden. Für Anzeigenanfragen auf iOS-Geräten ist ein iOS-Anzeigenblock und auf Android-Geräten ein Android-Anzeigenblock erforderlich.

(Optional) Benutzerdefinierte Anzeigenposition

Verwenden Sie den BannerView-Konstruktor mit x- und y-Koordinaten als Parameter, um mehr Kontrolle darüber zu haben, wo ein BannerView auf dem Bildschirm platziert wird, als mit den AdPosition-Werten angeboten wird:

// Create a 320x50 banner ad at coordinate (0,50) on screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, 0, 50);

Die linke obere Ecke von BannerView wird an den x- und y-Werten positioniert, die an den Konstruktor übergeben werden, wobei der Ursprung oben links auf dem Bildschirm ist.

(Optional) Benutzerdefinierte Anzeigengrößen

Neben der Verwendung einer AdSize-Konstante können Sie auch eine benutzerdefinierte Größe für die Anzeige angeben:

AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(adUnitId, adSize, AdPosition.Bottom);

Immer mit Testanzeigen testen

Der Beispielcode oben enthält eine Anzeigenblock-ID und Sie können damit Anzeigen anfordern. Es wurde speziell so konfiguriert, dass für jede Anfrage Testanzeigen zurückgegeben werden, sodass es sicher verwendet werden kann.

Wenn Sie jedoch eine App in der AdMob-Benutzeroberfläche registrieren und Ihre eigenen Anzeigenblock-IDs für die Verwendung in Ihrer App erstellen, müssen Sie Ihr Gerät während der Entwicklung explizit als Testgerät konfigurieren. Das ist äußerst wichtig. Das Testen mit echten Anzeigen ist ein Verstoß gegen die AdMob-Richtlinien und kann dazu führen, dass Ihr Konto gesperrt wird. Dies gilt auch, wenn Sie sie noch nicht antippen. Unter Testanzeigen erfahren Sie, wie Sie dafür sorgen können, dass Sie bei der Entwicklung immer Testanzeigen erhalten.

Anzeige laden

Sobald die BannerView instanziiert ist, wird im nächsten Schritt eine Anzeige geladen. Das wird mit der Methode loadAd() in der Klasse BannerView erreicht. Dazu wird das Argument AdRequest verwendet, das Laufzeitinformationen (z. B. Targeting-Informationen) zu einer einzelnen Anzeigenanfrage enthält.

Hier ein Beispiel für das Laden einer Anzeige:

...
    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }
...

Fertig! In Ihrer App können jetzt Banneranzeigen von AdMob ausgeliefert werden.

Anzeigenereignisse

Um das Verhalten Ihrer Anzeige weiter anzupassen, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige nutzen: Laden, Öffnen, Schließen usw. Registrieren Sie für den entsprechenden EventHandler wie unten gezeigt einen Bevollmächtigten, um auf diese Ereignisse zu warten.

...
using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;

    public void Start()
    {
        this.RequestBanner();
    }

    private void RequestBanner()
    {

        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Called when an ad request has successfully loaded.
        this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;
        // Called when an ad request failed to load.
        this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad;
        // Called when an ad is clicked.
        this.bannerView.OnAdOpening += this.HandleOnAdOpened;
        // Called when the user returned from the app after an ad click.
        this.bannerView.OnAdClosed += this.HandleOnAdClosed;

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }

    public void HandleOnAdLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdLoaded event received");
    }

    public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                            + args.LoadAdError.GetMessage());
    }

    public void HandleOnAdOpened(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdOpened event received");
    }

    public void HandleOnAdClosed(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdClosed event received");
    }
}

Das OnAdFailedToLoad-Ereignis enthält spezielle Ereignisargumente. Sie übergibt eine Instanz von HandleAdFailedToLoadEventArgs mit einer Message, die den Fehler beschreibt:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
  MonoBehaviour.print("Banner failed to load: " + args.Message);
  // Handle the ad failed to load event.
};
AnzeigenereignisBeschreibung
OnAdLoaded Das Ereignis OnAdLoaded wird ausgeführt, wenn das Laden einer Anzeige abgeschlossen ist.
OnAdFailedToLoad Das Ereignis OnAdFailedToLoad wird aufgerufen, wenn das Laden einer Anzeige fehlschlägt. Der Parameter Message beschreibt den aufgetretenen Fehlertyp.
OnAdOpening Diese Methode wird aufgerufen, wenn der Nutzer auf eine Anzeige tippt. Wenn Sie Klicks mit einem Analysepaket erfassen, sollten Sie diese Funktion erfassen.
OnAdClosed Diese Methode wird aufgerufen, wenn ein Nutzer nach dem Aufrufen der Ziel-URL einer Anzeige zur App zurückkehrt. Ihre App kann damit wieder gesperrte Aktivitäten fortsetzen oder andere Aufgaben ausführen, die zur Interaktion bereit sind.

In der folgenden Tabelle sind die Standardgrößen für Banner aufgeführt.

Größe in dp (BxH) Beschreibung Verfügbarkeit AdSize-Konstante
320 × 50 Normale Banner- Smartphones und Tablets BANNER
320 × 100 Großes Banner Smartphones und Tablets LARGE_BANNER
300 × 250 IAB-Medium Rectangle Smartphones und Tablets MEDIUM_RECTANGLE
468 × 60 IAB-Banner in Originalgröße Tablets FULL_BANNER
728 × 90 IAB-Leaderboard Tablets LEADERBOARD
Angegebene Breite x Adaptive Höhe Adaptives Banner Smartphones und Tablets
Bildschirmbreite x 32|50|90 Smart-Banner Smartphones und Tablets SMART_BANNER
Weitere Informationen zu adaptiven Bannern, die als Ersatz für Smart-Banner dienen

Banneranzeigen bereinigen

Wenn Sie mit einer BannerView fertig sind, rufen Sie die Methode Destroy() auf, bevor Sie den Verweis darauf löschen:

bannerView.Destroy();

Dadurch wird das Plug-in darüber informiert, dass das Objekt nicht mehr verwendet wird und der belegte Arbeitsspeicher zurückgefordert werden kann. Wenn diese Methode nicht aufgerufen wird, treten Speicherlecks auf.

Weitere Informationen

Beispiele

Erfolgsgeschichten