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 keine Erfahrung mit mobiler Werbung haben, ist sie ein guter Ausgangspunkt. Fallstudie

In diesem Leitfaden erfährst du, wie du Banneranzeigen von AdMob in eine Unity-App einbindest. Zusätzlich zu Code-Snippets und Anleitungen findest du hier Informationen zur korrekten 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.

Mit dem Unity-Editor können Sie Ihre Anzeigen noch einfacher einbinden und testen. Nutzen Sie dazu die neue Betaversion von Anzeigen-Placements.

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 BannerView hat die folgenden Parameter:

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

Je nach Plattform ist zu beachten, dass verschiedene Anzeigenblöcke verwendet werden. Sie benötigen einen iOS-Anzeigenblock für Anzeigenanfragen auf iOS-Geräten und einen Android-Anzeigenblock für Anzeigenanfragen auf Android-Geräten.

(Optional) Benutzerdefinierte Anzeigenposition

Verwenden Sie den BannerView-Konstruktor mit x- und y-Koordinaten als Parameter, um besser steuern zu können, wo ein BannerView auf dem Bildschirm platziert wird, als er durch AdPosition-Werte angeboten wird:

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

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

(Optional) Benutzerdefinierte Anzeigengrößen

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

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

Immer mit Testanzeigen testen

Der Beispielcode enthält eine Anzeigenblock-ID, über die Sie Anzeigen anfordern können. Es wurde speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen statt Produktionsanzeigen zurückgegeben werden.

Wenn Sie jedoch eine App in der AdMob-Benutzeroberfläche registrieren und eigene Anzeigenblock-IDs für die Verwendung in Ihrer App erstellen, müssen Sie Ihr Gerät bei der Entwicklung explizit als Testgerät konfigurieren. Das ist sehr wichtig. Tests mit echten Anzeigen (auch wenn Sie nie darauf tippen) verstoßen gegen die AdMob-Richtlinien und können zur Sperrung Ihres Kontos führen. Unter Testanzeigen erfahren Sie, wie Sie dafür sorgen können, dass bei der Entwicklung immer Testanzeigen ausgeliefert werden.

Anzeige laden

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

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. Sie können auf diese Ereignisse warten, indem Sie wie unten gezeigt einen Bevollmächtigten für die entsprechende EventHandler registrieren.

...
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 Ereignis OnAdFailedToLoad enthält Argumente für besondere Ereignisse. 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 eine Anzeige vollständig geladen ist.
OnAdFailedToLoad Das Ereignis OnAdFailedToLoad wird aufgerufen, wenn eine Anzeige nicht geladen werden kann. Der Parameter Message beschreibt die Art des aufgetretenen Fehlers.
OnAdOpening Diese Methode wird aufgerufen, wenn der Nutzer auf eine Anzeige tippt. Wenn Sie Klicks mit einem Analysepaket erfassen, ist dies ein guter Ort für die Aufzeichnung von Klicks.
OnAdClosed Diese Methode wird aufgerufen, wenn ein Nutzer nach dem Ansehen der Ziel-URL einer Anzeige zur App zurückkehrt. Die App kann dann verwendet werden, um angehaltene Aktivitäten fortzusetzen oder andere Aufgaben auszuführen, die erforderlich sind, um sich auf die Interaktion vorzubereiten.

In der folgenden Tabelle sind die standardmäßigen Bannergrößen 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-Bestenliste 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 einem BannerView fertig sind, müssen Sie die Methode Destroy() aufrufen, bevor Sie Ihren Verweis darauf löschen:

bannerView.Destroy();

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

Weitere Informationen

Beispiele

Erfolgsgeschichten