Annunci banner

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Gli annunci banner sono annunci illustrati o di testo rettangolari che occupano uno spot sullo schermo. Rimangono sullo schermo mentre gli utenti interagiscono con l'app e possono aggiornarsi automaticamente dopo un determinato periodo di tempo. Se non hai mai utilizzato la pubblicità per dispositivi mobili, questo è un ottimo punto di partenza. Case study.

Questa guida illustra come integrare gli annunci banner di AdMob in un'app Unity. Oltre alle istruzioni e agli snippet di codice, include anche informazioni sul dimensionamento corretto dei banner e sui link a risorse aggiuntive.

Prerequisiti

Creare una visualizzazione banner

Il primo passaggio per visualizzare un banner consiste nel creare un oggetto BannerView in uno script C# allegato a un GameObject.

Per facilitare l'integrazione degli annunci utilizzando l'editor Unity, prova la nuova versione beta dei posizionamenti degli annunci.

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

Il costruttore per BannerView ha i seguenti parametri:

  • adUnitId: l'ID dell'unità pubblicitaria di AdMob da cui BannerView deve caricare gli annunci.
  • AdSize: la dimensione dell'annuncio AdMob da utilizzare (consulta le dimensioni del banner per i dettagli).
  • AdPosition: la posizione in cui deve essere posizionato l'annuncio banner. L'enumerazione di AdPosition elenca i valori di posizione dell'annuncio validi.

È importante notare come vengono utilizzate le diverse unità pubblicitarie, a seconda della piattaforma. Devi utilizzare un'unità pubblicitaria iOS per effettuare richieste di annunci su iOS e un'unità pubblicitaria Android per effettuare richieste su Android.

(Facoltativo) Posizione dell'annuncio personalizzato

Per un maggiore controllo sulla posizione di BannerView sullo schermo rispetto a quanto offerto dai valori AdPosition, utilizza il costruttore BannerView che ha coordinate x e y come parametri:

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

L'angolo in alto a sinistra di BannerView verrà posizionato in corrispondenza dei valori x e y trasmessi al costruttore, dove l'origine è la parte in alto a sinistra dello schermo.

(Facoltativo) Dimensioni degli annunci personalizzate

Oltre a utilizzare una costante AdSize, puoi anche specificare una dimensione personalizzata per l'annuncio:

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

Eseguire sempre i test con gli annunci di prova

Il codice campione riportato sopra contiene un ID unità pubblicitaria e sei libero di richiedere annunci con questo ID. È stato appositamente configurato per restituire annunci di test anziché annunci di produzione per ogni richiesta, il che ne rende sicuro l'utilizzo.

Tuttavia, dopo aver registrato un'app nell'interfaccia utente di AdMob e aver creato i tuoi ID unità pubblicitaria per l'utilizzo nell'app, dovrai configurare il dispositivo in modo esplicito come dispositivo di test durante lo sviluppo. Questo è estremamente importante. I test con annunci reali (anche se non li tocchi) non sono conformi alle norme di AdMob e possono portare alla sospensione dell'account. Leggi gli Annunci di prova per informazioni su come assicurarti di ricevere sempre gli annunci di test durante lo sviluppo.

Caricare un annuncio

Dopo aver creato un'istanza di BannerView, il passaggio successivo consiste nel caricare un annuncio. Questo viene fatto utilizzando il metodo loadAd() nella classe BannerView. Prende un argomento AdRequest, che contiene informazioni di runtime (ad esempio informazioni di targeting) su una singola richiesta di annuncio.

Di seguito è riportato un esempio che mostra come caricare un annuncio:

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

È tutto. La tua app è pronta per visualizzare gli annunci banner di AdMob.

Eventi annuncio

Per personalizzare ulteriormente il comportamento dell'annuncio, puoi collegare una serie di eventi nel ciclo di vita dell'annuncio: caricamento, apertura, chiusura e così via. Ascolta questi eventi registrando un delegato per l'account EventHandler appropriato, come mostrato di seguito.

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

L'evento OnAdFailedToLoad contiene argomenti di eventi speciali. Passa un'istanza di HandleAdFailedToLoadEventArgs con un Message che descrive l'errore:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
  MonoBehaviour.print("Banner failed to load: " + args.Message);
  // Handle the ad failed to load event.
};
Evento annuncioDescrizione
OnAdLoaded L'evento OnAdLoaded viene eseguito al termine del caricamento dell'annuncio.
OnAdFailedToLoad L'evento OnAdFailedToLoad viene richiamato quando un annuncio non viene caricato. Il parametro Message descrive il tipo di errore che si è verificato.
OnAdOpening Questo metodo viene richiamato quando l'utente tocca un annuncio. Se utilizzi un pacchetto di analisi per monitorare i clickthrough, questo è un buon posto per registrarne uno.
OnAdClosed Quando un utente torna nell'app dopo aver visualizzato l'URL di destinazione di un annuncio, questo metodo viene richiamato. L'app può usarla per riprendere le attività sospese o eseguire qualsiasi altra operazione necessaria per prepararsi all'interazione.

Nella tabella seguente sono elencate le dimensioni standard dei banner.

Dimensioni in dp (LxA) Descrizione Disponibilità costante di dimensioni degli annunci
320 x 50 Banner standard Telefoni e tablet BANNER
320 x 100 Banner grande Telefoni e tablet LARGE_BANNER
300 x 250 Rettangolo medio IAB Telefoni e tablet MEDIUM_RECTANGLE
468 x 60 Banner IAB a grandezza originale Tablet FULL_BANNER
728 x 90 Classifica IAB Tablet LEADERBOARD
Larghezza fornita x Altezza adattiva Banner adattivo Telefoni e tablet N/D
Larghezza schermo x 32|50|90 Banner intelligente Telefoni e tablet SMART_BANNER
Scopri di più sui banner adattivi, destinati a sostituire i banner intelligenti.

Ripulire gli annunci banner

Quando hai finito con BannerView, assicurati di chiamare il metodo Destroy() prima di inserire il riferimento:

bannerView.Destroy();

In questo modo il plug-in viene avvisato che l'oggetto non è più utilizzato e che la memoria che occupa può essere recuperata. La mancata chiamata di questo metodo comporta perdite di memoria.

Risorse aggiuntive

Esempi

Casi di successo