Werbebanner

Banneranzeigen sind rechteckige Bild- oder Textanzeigen, die einen Platz auf dem Bildschirm einnehmen. Sie bleiben auf dem Bildschirm, während Benutzer 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 großartiger Ausgangspunkt. Fallstudie .

In dieser Anleitung erfahren Sie, wie Sie Banneranzeigen von AdMob in eine Unity-App integrieren. Neben Code-Snippets und Anweisungen enthält es auch Informationen zur richtigen Größe von Bannern und Links zu zusätzlichen Ressourcen.

Voraussetzungen

Komplette loszulegen . In Ihre Unity-App sollte das Google Mobile Ads Unity-Plug-in bereits importiert sein.

Erstellen Sie eine Banneransicht

Der erste Schritt in Richtung auf eine Fahne Anzeige ist ein erstellen BannerView Objekt in einem C # Skript zu einem beigefügten GameObject .

Für eine einfachere Anzeigen Integration der Unity - Editor verwenden, versuchen Sie die neue Ad Platzierungen Beta .

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

  • adUnitId - Der AdMob - Anzeigenblock - ID aus dem die BannerView Anzeigen geladen werden soll.
  • AdSize - Die AdMob - Anzeigengröße , die Sie verwenden möchten (konsultieren Bannergrößen für Details).
  • AdPosition - Die Position , in der Banner - Anzeige platziert werden soll. Die AdPosition Enumeration listet die gültigen Anzeigenpositionswerte.

Es ist wichtig zu beachten, wie unterschiedliche Anzeigenblöcke je nach Plattform verwendet werden. Sie benötigen einen iOS-Anzeigenblock, um Anzeigenanfragen auf iOS zu stellen, und einen Android-Anzeigenblock, um Anfragen auf Android zu stellen.

(Optional) Benutzerdefinierte Anzeigenposition

Für eine bessere Kontrolle über , wo eine BannerView auf dem Bildschirm platziert ist als das, was durch angeboten wird AdPosition Werte verwenden , um die BannerView Konstruktor, der x- und y-Koordinaten als Parameter hat:

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

Die obere linke Ecke des BannerView wird in der x und y - Werte angeordnet wird weitergegeben an den Konstruktor, wobei der Ursprung ist oben links auf dem Bildschirm.

(Optional) Benutzerdefinierte Anzeigengrößen

Sie können nicht nur eine AdSize-Konstante verwenden, sondern 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 obige Beispielcode enthält eine Anzeigenblock-ID, mit der Sie Anzeigen anfordern können. Es wurde speziell so konfiguriert, dass für jede Anfrage Testanzeigen statt Produktionsanzeigen zurückgegeben werden, was die Verwendung sicher macht.

Allerdings, wenn Sie eine App in der AdMob - Benutzeroberfläche registrieren und Ihren eigenen Anzeigenblock - IDs für den Einsatz in Ihrer Anwendung erstellen, müssen Sie explizit das Gerät als Testgerät konfigurieren , wenn Sie zu entwickeln. Dies ist äußerst wichtig. Das Testen mit echten Anzeigen (auch wenn Sie nie darauf tippen) verstößt gegen die AdMob-Richtlinien und kann dazu führen, dass Ihr Konto gesperrt wird. Lesen Sie Testanzeigen für Informationen darüber , wie Sie sicherstellen können , Sie bekommen immer Anzeigen Test bei der Entwicklung.

Anzeige laden

Sobald die BannerView instanziert wird, ist der nächste Schritt , eine Anzeige zu laden. Das ist mit der getan loadAd() Methode in der BannerView Klasse. Es dauert ein AdRequest Argument, die Laufzeitinformationen (wie Targeting - info) über einen Anzeigenanfrag hält.

Hier ist ein Beispiel, das zeigt, wie eine Anzeige geladen wird:

...
    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);
    }
...

Das ist es! Ihre App kann jetzt Banneranzeigen von AdMob schalten.

Anzeigenereignisse

Um das Verhalten Ihrer Anzeige weiter anzupassen, können Sie im Lebenszyklus der Anzeige verschiedene Ereignisse einbinden: Laden, Öffnen, Schließen usw. Hören Sie diese Ereignisse durch einen Delegierten für die entsprechende Registrierung EventHandler , wie unten gezeigt.

...
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;
        // Called when the ad click caused the user to leave the application.
        this.bannerView.OnAdLeavingApplication += this.HandleOnAdLeavingApplication;

        // 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.Message);
    }

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

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

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

Das OnAdFailedToLoad Ereignis enthält spezielles Ereignisargument. Es geht um eine Instanz von HandleAdFailedToLoadEventArgs mit einer Message beschreibt den Fehler:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
  MonoBehaviour.print("Banner failed to load: " + args.Message);
  // Handle the ad failed to load event.
};
Anzeigenereignis Beschreibung
OnAdLoaded Das OnAdLoaded Ereignis ausgeführt wird , wenn eine Anzeige fertig geladen hat.
OnAdFailedToLoad Das OnAdFailedToLoad Ereignis wird aufgerufen , wenn eine Anzeige Last versagt. Der Message Parameter beschreibt die Art des Fehlers, der aufgetreten ist .
OnAdOpening Diese Methode wird aufgerufen, wenn der Benutzer auf eine Anzeige tippt. Wenn Sie ein Analysepaket zum Verfolgen von Klicks verwenden, ist dies ein guter Ort, um eines aufzuzeichnen.
OnAdClosed Wenn ein Nutzer nach dem Anzeigen der Ziel-URL einer Anzeige zur App zurückkehrt, wird diese Methode aufgerufen. Ihre App kann damit unterbrochene Aktivitäten wieder aufnehmen oder andere Arbeiten ausführen, die erforderlich sind, um sich für die Interaktion vorzubereiten.
OnAdLeavingApplication Diese Methode wird nach aufgerufen onAdOpened , wenn ein Benutzer klicken Sie eine andere App (wie die Google Play Store) öffnen, die aktuelle App Hintergrund versetzen .

In der folgenden Tabelle sind die Standard-Bannergrößen aufgeführt.

Größe in dp (BxH) Beschreibung Verfügbarkeit AdSize-Konstante
320x50 Standardbanner Telefone und Tablets BANNER
320x100 Großes Banner Telefone und Tablets LARGE_BANNER
300 x 250 IAB Medium Rechteck Telefone und Tablets MEDIUM_RECTANGLE
468x60 IAB-Banner in voller Größe Tablets FULL_BANNER
728x90 IAB-Bestenliste Tablets LEADERBOARD
Vorausgesetzt , Breite x Höhe Adaptive Adaptives Banner Telefone und Tablets N / A
Bildschirmbreite x 32 | 50 | 90 Intelligentes Banner Telefone und Tablets SMART_BANNER
Erfahren Sie mehr über Adaptive Banner , ersetzen soll Smart - Banner .

Bannerwerbung aufräumen

Wenn Sie mit einem fertig sind BannerView , stellen Sie sicher , dass die nennen Destroy() Methode , bevor Sie Verweis auf sie fallen:

bannerView.Destroy();

Dadurch wird dem Plugin mitgeteilt, dass das Objekt nicht mehr verwendet wird und der belegte Speicher wieder freigegeben werden kann. Wenn diese Methode nicht aufgerufen wird, kommt es zu Speicherverlusten.

Zusätzliche Ressourcen

Proben

Erfolgsgeschichten