Banner adattivi ancorati

I banner adattivi sono la nuova generazione di annunci adattabili, ottimizzando le dimensioni dell'annuncio per ciascun dispositivo. Migliorare i banner intelligenti che supportavano solo altezze fisse, i banner adattivi consentono di specificare larghezza dell'annuncio e utilizza questi dati per determinare la dimensione ottimale dell'annuncio.

Per scegliere le dimensioni degli annunci migliori, i banner adattivi utilizzano proporzioni fisse anziché altezze fisse. Ciò porta ad annunci banner che occupano una porzione più coerente dello schermo su tutti i dispositivi e offre l'opportunità di migliorare le prestazioni dei dispositivi.

Quando lavori con i banner adattivi, tieni presente che viene sempre restituito un dimensione costante per un dispositivo e una larghezza specifici. Dopo aver testato il layout su un determinato dispositivo, puoi essere certo che le dimensioni dell'annuncio non cambieranno. Tuttavia, le dimensioni della creatività del banner possono variare in base ai diversi dispositivi. Di conseguenza, consigliamo di creare un layout che tenga conto delle variazioni nell'altezza dell'annuncio. In rari casi, potrebbe non essere riempita la dimensione adattiva completa e verrà pubblicata una creatività di dimensioni standard al centro dell'area.

Prerequisiti

Quando utilizzare i banner adattivi

I banner adattivi sono progettati per essere sostituiti immediatamente, nel settore le dimensioni banner standard 320 x 50 e il formato banner intelligente che hanno la precedenza.

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

Per questi banner ancorati, le proporzioni quando utilizzi i banner adattivi saranno simile a quello di un annuncio standard 320 x 50, come si può vedere nei tre esempi sotto:


Banner 320 x 50

Banner adattivo

Banner intelligente

Il banner adattivo sfrutta meglio le dimensioni dello schermo disponibili. Inoltre, rispetto a un banner intelligente, quest'ultimo è la scelta migliore in quanto:

  • Utilizza qualsiasi larghezza specificata, anziché imporre la larghezza per lo schermo intero, in modo da tenere conto dell'area di sicurezza su iOS e visualizzare i ritagli su Android.

  • Seleziona un'altezza ottimale per il dispositivo specifico, invece di avere un altezza costante su dispositivi di diverse dimensioni, mitigando gli effetti la frammentazione dei dispositivi.

Note di implementazione

Quando implementi i banner adattivi nella tua app, tieni presente quanto segue:

  • Devi conoscere la larghezza della visualizzazione in cui verrà posizionato l'annuncio, e tenere conto della larghezza del dispositivo e di eventuali aree sicure o ritagli applicabili.
  • Assicurati che lo sfondo della visualizzazione dell'annuncio sia opaco per essere conforme alle Norme di AdMob in caso di pubblicazione di annunci di dimensioni inferiori che generano non riempiono l'area annuncio.
  • Assicurati di utilizzare l'ultima versione di Unity degli annunci per dispositivi mobili di Google . 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 utilizzano disponibile. Nella maggior parte dei casi, si tratta dell'intera larghezza dello schermo dal dispositivo in uso. Assicurati di tenere conto delle aree sicure applicabili.
  • L'SDK Google Mobile Ads ridimensionerà il banner con un'altezza dell'annuncio ottimizzata per la larghezza specificata quando si utilizzano le API AdSize adattivi.
  • Esistono tre metodi per calcolare la dimensione dell'annuncio adattivo: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth per l'orientamento orizzontale, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth per l'orientamento verticale e AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth per orientamento corrente al momento dell'esecuzione.
  • La dimensione restituita per una determinata larghezza su un determinato dispositivo sarà sempre la Pertanto, dopo aver testato il layout su un determinato dispositivo, assicurati che le dimensioni dell'annuncio non cambino.
  • L'altezza del banner ancorato non è mai superiore a quella inferiore al 15% del all'altezza del dispositivo o a 90 pixel indipendenti dalla densità e mai al di sotto dei 50 pixel indipendenti dalla densità.
  • Per i banner a larghezza intera, puoi utilizzare il flag AdSize.FullWidth anziché che fornisce una larghezza specifica.

Guida rapida

Per implementare un semplice banner di ancoraggio adattabile, segui i passaggi riportati di seguito.

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

Esempio di codice

Ecco uno script di esempio che carica e ricarica un banner adattabile in base alla larghezza dello schermo, tenendo conto dell'area di sicurezza:

using UnityEngine;
using System;
using GoogleMobileAds.Api;

public class AdaptiveBannerSample : MonoBehaviour
{
    private BannerView _bannerView;

    // Use this for initialization
    void Start()
    {
        // Set your test devices.
        // https://developers.google.com/admob/unity/test-ads
        RequestConfiguration requestConfiguration = new RequestConfiguration
        {
            TestDeviceIds = new List<string>
            {
                AdRequest.TestDeviceSimulator,
                // Add your test device IDs (replace with your own device IDs).
                #if UNITY_IPHONE
                "96e23e80653bb28980d3f40beb58915c"
                #elif UNITY_ANDROID
                "75EF8D155528C04DACBBA6F36F433035"
                #endif
            }
        };
        MobileAds.SetRequestConfiguration(requestConfiguration);

        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus status) => 
        {
            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 (_bannerView != null)
        {
            _bannerView.Destroy();
        }

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

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

        // Register for ad events.
        _bannerView.OnBannerAdLoaded += OnBannerAdLoaded;
        _bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;

        AdRequest adRequest = new AdRequest();

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

    #region Banner callback handlers

    private void OnBannerAdLoaded(object sender, EventArgs args)
    {
        Debug.Log("Banner view loaded an ad with response : "
                 + _bannerView.GetResponseInfo());
        Debug.Log("Ad Height: {0}, width: {1}",
                _bannerView.GetHeightInPixels(),
                _bannerView.GetWidthInPixels());
    }

    private void OnBannerAdLoadFailed(LoadAdError error)
    {
        Debug.LogError("Banner view failed to load an ad with error : "
                + error);
    }

    #endregion
}

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