Banner adattivi ancorati

I banner adattivi sono la prossima generazione di annunci adattabili, in grado di massimizzare il rendimento ottimizzando le dimensioni dell'annuncio per ogni dispositivo. Migliorando i banner intelligenti, che supportavano solo altezze fisse, i banner adattivi ti consentono di specificare la larghezza dell'annuncio e di utilizzarla per determinare le dimensioni ottimali dell'annuncio.

Per scegliere le dimensioni ottimali, i banner adattivi utilizzano proporzioni fisse anziché altezze fisse. Ciò si traduce in annunci banner che occupano una porzione più coerente dello schermo su tutti i dispositivi e offrono opportunità di miglioramento del rendimento.

Quando lavori con i banner adattivi, tieni presente che restituiscono sempre una dimensione costante per un dispositivo e una larghezza determinati. Dopo aver testato il layout su un determinato dispositivo, puoi assicurarti che le dimensioni dell'annuncio non vengano modificate. Tuttavia, le dimensioni della creatività banner possono variare su dispositivi diversi. Di conseguenza, è consigliabile che il tuo layout soddisfi le differenze di altezza degli annunci. In rari casi, la dimensione completa adattiva potrebbe non essere riempita e in quest'area verrà generalmente centrata una creatività di dimensioni standard.

Prerequisiti

Quando utilizzare i banner adattivi

I banner adattivi sono progettati per sostituire i video banner di dimensioni standard 320 x 50 e il formato banner intelligente, che sostituiscono.

Queste dimensioni sono generalmente utilizzate come banner ancorati, che di solito sono bloccati nella parte superiore o inferiore dello schermo.

Per questi banner ancorati, le proporzioni durante l'utilizzo dei banner adattivi saranno simili a quelle di un annuncio standard 320 x 50, come puoi vedere nei tre esempi seguenti:


Banner 320 x 50

Banner adattivo

Banner intelligente

Il banner adattivo utilizza meglio le dimensioni dello schermo disponibili. Inoltre, rispetto a un banner intelligente, un banner adattivo è una scelta migliore perché:

  • Utilizza qualsiasi larghezza da te fornita, anziché forzare la larghezza a schermo intero, consentendoti di considerare l'area sicura su iOS e i ritagli di visualizzazione su Android.

  • Seleziona un'altezza ottimale per il dispositivo specifico, anziché avere un'altezza costante su dispositivi di varie dimensioni, riducendo gli effetti della frammentazione dei dispositivi.

Note sull'implementazione

Quando implementi banner adattivi nell'app, tieni presente quanto segue:

  • Devi conoscere la larghezza della visualizzazione in cui verrà inserito l'annuncio. Questo dovrebbe tenere conto della larghezza del dispositivo e di eventuali aree di sicurezza o tagli applicabili.
  • Assicurati che lo sfondo della visualizzazione degli annunci sia opaco per essere conforme alle norme di AdMob quando vengono pubblicati annunci di dimensioni più piccole che non riempiono l'area annuncio.
  • Assicurati di utilizzare la versione più recente del plug-in Google Mobile Ads Unity. Per la mediazione, utilizza la versione più recente di ogni adattatore di mediazione.
  • Le dimensioni dei banner adattivi sono progettate per funzionare al meglio quando si utilizza l'intera larghezza disponibile. Nella maggior parte dei casi, questa sarà l'intera larghezza dello schermo del dispositivo in uso. Assicurati di prestare attenzione alle aree sicure applicabili.
  • L'SDK Google Mobile Ads ridimensiona il banner con un'altezza dell'annuncio ottimizzata per la larghezza specificata quando utilizzi le API AdSize adattive.
  • Esistono tre metodi per ottenere una dimensione dell'annuncio per la pubblicità adattiva: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth per l'orientamento orizzontale, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth per l'orientamento verticale e AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth per l'orientamento corrente al momento dell'esecuzione.
  • Le dimensioni restituite per una determinata larghezza su un determinato dispositivo saranno sempre uguali; quindi, dopo aver testato il layout su un determinato dispositivo, puoi assicurarti che le dimensioni dell'annuncio non cambino.
  • L'altezza del banner ancorato non è mai maggiore del minimo del 15% dell'altezza del dispositivo o del 90 pixel indipendenti dalla densità e non è mai inferiore a 50 pixel indipendenti della densità.
  • Per i banner a larghezza intera, puoi utilizzare il flag AdSize.FullWidth anziché fornire una larghezza specifica.

Guida rapida

Procedi nel seguente modo per implementare un semplice banner adattivo ancorato.

  1. Utilizza un formato di annuncio banner adattivo. Le dimensioni disponibili verranno utilizzate per richiedere il banner adattivo. Per visualizzare le dimensioni adattive degli annunci, assicurati di:
    1. Ottieni la larghezza del dispositivo in uso in pixel indipendenti dalla densità oppure imposta la tua larghezza se non vuoi utilizzare l'intera larghezza dello schermo. Poiché le API Unity come Screen.width restituiscono pixel assoluti, devi suddividere per scalabilità del dispositivo (recuperabile da MobileAds.Utils.GetDeviceScale()).
    2. Utilizza il flag AdSize.FullWidth per i banner a larghezza intera.
    3. Utilizza i metodi statici appropriati nella classe di dimensioni dell'annuncio, ad esempio AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width), per ottenere un oggetto AdSize adattivo per l'orientamento corrente.
  2. Crea un oggetto BannerView con il tuo ID unità pubblicitaria, le dimensioni adattive e la posizione pertinente per il tuo annuncio.
  3. Crea un oggetto di richiesta di annuncio e carica il banner utilizzando il metodo LoadAd() nella visualizzazione di annunci preparata, proprio come faresti con una normale richiesta di banner.

Esempio di codice

Ecco uno script di esempio che carica e ricarica un banner adattivo per adattarsi alla larghezza dello schermo, tenendo conto dell'area di sicurezza:

using UnityEngine;
using System;
using GoogleMobileAds.Api;

public class NewMonoBehaviour : MonoBehaviour
{
    private BannerView bannerView;

    // Use this for initialization
    void Start()
    {
        RequestBanner();
    }

    public void OnGUI()
    {
        GUI.skin.label.fontSize = 60;
        Rect textOutputRect = new Rect(
          0.15f * Screen.width,
          0.25f * Screen.height,
          0.7f * Screen.width,
          0.3f * Screen.height);
        GUI.Label(textOutputRect, "Adaptive Banner Example");
    }

    private void RequestBanner()
    {
        // These ad units are configured to always serve test ads.
        #if UNITY_EDITOR
            string adUnitId = "unused";
        #elif UNITY_ANDROID
            string adUnitId = "ca-app-pub-3212738706492790/6113697308";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3212738706492790/5381898163";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Clean up banner ad before creating a new one.
        if (this.bannerView != null)
        {
            this.bannerView.Destroy();
        }

        AdSize adaptiveSize =
                AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);

        this.bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);

        // Register for ad events.
        this.bannerView.OnAdLoaded += this.HandleAdLoaded;
        this.bannerView.OnAdFailedToLoad += this.HandleAdFailedToLoad;
        this.bannerView.OnAdOpening += this.HandleAdOpening;
        this.bannerView.OnAdClosed += this.HandleAdClosed;

        AdRequest adRequest = new AdRequest.Builder()
            .AddTestDevice(AdRequest.TestDeviceSimulator)
            .AddTestDevice("0123456789ABCDEF0123456789ABCDEF")
            .Build();

        // Load a banner ad.
        this.bannerView.LoadAd(adRequest);
    }

    #region Banner callback handlers

    public void HandleAdLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdLoaded event received");
        MonoBehaviour.print(String.Format("Ad Height: {0}, width: {1}",
            this.bannerView.GetHeightInPixels(),
            this.bannerView.GetWidthInPixels()));
    }

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

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

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

    #endregion
}

Qui la funzione AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth viene utilizzata per ottenere le dimensioni di un banner in una posizione ancorata per l'orientamento attuale dell'interfaccia. Per precaricare un banner ancorato con un determinato orientamento, utilizza la funzione pertinente di AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth e AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth.