Banners adaptativos fixos

Os banners adaptativos são a próxima geração de anúncios responsivos, maximizando o desempenho otimizando o tamanho do anúncio para cada dispositivo. Ao melhorar os banners inteligentes, compatíveis apenas com alturas fixas, os banners adaptativos permitem especificar largura do anúncio e use isso para determinar o tamanho ideal.

Para escolher o melhor tamanho de anúncio, os banners adaptativos usam proporções fixas em vez de alturas fixas. Com isso, os anúncios de banner ocupam uma parte mais consistente da tela em vários tipos e tamanhos de dispositivo e podem melhorar o desempenho.

Ao trabalhar com banners adaptativos, observe que eles sempre retornarão uma tamanho constante para determinado dispositivo e largura. Depois de testar o layout em um dispositivo específico, você pode ter certeza de que o tamanho do anúncio não vai mudar. No entanto, o tamanho do criativo de banner pode mudar em dispositivos diferentes. Consequentemente, recomendamos que seu layout acomode variações na altura do anúncio. Em casos raros, o tamanho adaptável completo pode não ser preenchido, e um criativo de tamanho padrão será centralizada neste espaço.

Pré-requisitos

Quando usar banners adaptativos

Os banners adaptativos foram criados para serem uma alternativa simples para o setor tamanho de banner padrão 320 x 50 e o formato de banner inteligente que eles substituem.

Esses tamanhos de banner costumam ser usados como banners fixos, que ficam permanentemente na parte de cima ou de baixo da tela.

Para esses banners fixos, a proporção ao usar banners adaptativos será semelhante ao de um anúncio padrão de 320 x 50, como pode ser visto nos três exemplos abaixo:


Banner de 320 x 50

Banner adaptativo

Banner inteligente

O banner adaptativo usa melhor o tamanho de tela disponível. Além disso, Em comparação com um banner inteligente, o banner adaptativo é uma escolha melhor porque:

  • Ele usa qualquer largura que você fornecer, em vez de forçar a largura total tela, permitindo que você considere a área segura no iOS e cortes da tela no Android.

  • Ele seleciona uma altura ideal para o dispositivo específico, em vez de altura constante em dispositivos de tamanhos diferentes, atenuando os efeitos a fragmentação de dispositivos.

Observações sobre implementação

Ao implementar banners adaptativos no seu app, tenha em mente os seguintes pontos:

  • Você deve saber a largura da visualização em que o anúncio será colocado, e isso deve considerar a largura do dispositivo e quaisquer áreas ou áreas de segurança e cortes aplicáveis.
  • Verifique se o plano de fundo da visualização do anúncio é opaco para estar em conformidade com Políticas da AdMob para anúncios menores que são veiculados não preenchem o espaço de anúncio.
  • Verifique se você está usando a versão mais recente do Unity dos anúncios para dispositivos móveis do Google plug-in. Para mediação, use a versão mais recente de cada adaptador de mediação.
  • Os tamanhos de banner adaptativo são projetados para funcionar melhor ao usar o formato largura disponível. Na maioria dos casos, será a largura total da tela do o dispositivo em uso. Considere as áreas de segurança aplicáveis.
  • O SDK dos anúncios para dispositivos móveis do Google dimensionará o banner com uma altura de anúncio otimizada. para a largura especificada ao usar as APIs AdSize adaptáveis.
  • Há três métodos para criar um tamanho de anúncio adaptável: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth para paisagem, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth para retrato; e AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth para o orientação atual no momento da execução.
  • O tamanho retornado para uma determinada largura em um determinado dispositivo sempre será o Portanto, depois de testar seu layout em um determinado dispositivo, você pode garantir que o tamanho do anúncio não seja alterado.
  • A altura do banner fixo nunca é maior que 15% do tamanho altura do dispositivo ou 90 pixels de densidade independente e nunca é menor que 50 com densidade independente de densidade.
  • Para banners com largura total, use a sinalização AdSize.FullWidth em vez de fornecendo uma largura específica.

Guia de início rápido

Siga as etapas abaixo para implementar um banner adaptativo âncora simples.

  1. Use um tamanho de anúncio de banner adaptativo. O tamanho definido será usado para solicitar seu banner adaptativo. Para conferir o tamanho do anúncio adaptável, você precisa:
    1. Descubra a largura do dispositivo em uso em pixels de densidade independente ou defina sua própria largura se não quiser usar a largura total da tela. Como as APIs do Unity, como Screen.width, retornam pixels absolutos, você precisa divida pela escala do dispositivo (recuperável de MobileAds.Utils.GetDeviceScale()).
    2. Use a flag AdSize.FullWidth para banners de largura total.
    3. Use os métodos estáticos apropriados na classe de tamanho do anúncio, como AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) para receber um objeto AdSize adaptável para a orientação atual.
  2. Crie um objeto BannerView com o ID do bloco de anúncios, o tamanho adaptável e a posição relevante para seu anúncio.
  3. Crie um objeto de solicitação de anúncio e carregue seu banner usando o método LoadAd(). na visualização de anúncio preparada, assim como você faria com uma solicitação de banner normal.

Exemplo de código

Confira um exemplo de script que carrega e recarrega um banner adaptativo para se ajustar ao largura da tela, considerando a área segura:

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
}

Aqui, a função AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth é usado para conseguir o tamanho de um banner em uma posição ancorada para a interface atual orientação. Para pré-carregar um banner fixo em uma determinada orientação, use o método função relevante de AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth e AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth.