Anúncios em banner

As visualizações de banner são anúncios gráficos ou de texto retangulares que ocupam um lugar na tela. Eles permanecem na tela enquanto os usuários interagem com o app e podem ser atualizados automaticamente após um determinado período. Se você não tem experiência com anúncios para dispositivos móveis, eles são um ótimo ponto de partida. Estudo de caso.

Este guia mostra como integrar visualizações de banner a um app Unity. Além de snippets de código e instruções, ele também inclui informações sobre o dimensionamento correto de banners e links para outros recursos.

Pré-requisitos

Sempre teste com anúncios de teste

O exemplo de código abaixo contém um ID de bloco de anúncios que você pode usar para solicitar anúncios de teste. Ele foi configurado especialmente para retornar anúncios de teste em vez de anúncios de produção para cada solicitação, tornando o uso seguro.

No entanto, depois de registrar um app na interface da WebAdMob e criar os IDs de bloco de anúncios para uso no app, configure explicitamente seu dispositivo como um dispositivo de teste durante o desenvolvimento.

Android

ca-app-pub-3940256099942544/6300978111

iOS

ca-app-pub-3940256099942544/2934735716

Inicializar o SDK de anúncios para dispositivos móveis

Antes de carregar os anúncios, chame MobileAds.Initialize() para inicializar o SDK dos anúncios para dispositivos móveis no app. Isso precisa ser feito apenas uma vez, de preferência na inicialização do app.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

Se você estiver usando a mediação, aguarde até que o callback ocorra antes de carregar anúncios, já que isso garante que todos os adaptadores de mediação sejam inicializados.

Exemplo de BannerView

O exemplo de código abaixo detalha como usar a visualização de banner. No exemplo, você cria uma instância de uma visualização de banner, usa um AdRequest para carregar um anúncio na visualização do banner e amplia os recursos com eventos de ciclo de vida.

Criar uma visualização de banner

A primeira etapa para usar uma visualização de banner é criar uma instância dela em um script C# anexado a um GameObject.


  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
  private string _adUnitId = "unused";
#endif

  BannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

O construtor de uma BannerView tem os seguintes parâmetros:

  • adUnitId: o ID do bloco de anúncios do qual a BannerView precisa carregar anúncios.
  • AdSize: o tamanho do anúncio que você quer usar. Consulte Tamanhos de banner para mais detalhes.
  • AdPosition: a posição em que as visualizações do banner precisam ser posicionadas. A enumeração AdPosition lista os valores válidos de posição do anúncio.

Observe como diferentes blocos de anúncios são usados, dependendo da plataforma. É necessário usar um bloco de anúncios do iOS para fazer solicitações de anúncios no iOS e um bloco de anúncios do Android para fazer solicitações no Android.

(Opcional) Criar uma visualização de banner com uma posição personalizada

Para ter mais controle sobre onde um BannerView é colocado na tela do que o oferecido pelos valores AdPosition, use o construtor que tem as coordenadas x e y como parâmetros:

// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);

O canto superior esquerdo da BannerView é posicionado nos valores x e y transmitidos ao construtor, em que a origem é o canto superior esquerdo da tela.

(Opcional) Criar uma visualização de banner com tamanho personalizado

Além de usar uma constante AdSize, você também pode especificar um tamanho personalizado para seu anúncio:

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);

Carregar um anúncio de banner

Para carregar um anúncio, crie um AdRequest e transmita-o ao método LoadAd().

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

Ouvir eventos de visualização do banner

Para personalizar o comportamento do anúncio, use diversos eventos no ciclo de vida dele, como carregamento, abertura ou fechamento. Para detectar esses eventos, registre um delegado:

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

Destruir a visualização do banner

Quando terminar de usar a visualização de banner, chame Destroy() para liberar recursos.

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyBannerView()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

Pronto! Agora seu app está pronto para exibir anúncios de banner.

A tabela abaixo lista os tamanhos padrão de banner.

Tamanho em dp (L x A) Descrição Disponibilidade Constante "AdSize"
320 x 50 Banner padrão Telefones e tablets BANNER
320 x 100 Banner grande Telefones e tablets LARGE_BANNER
300 x 250 Retângulo médio IAB Telefones e tablets MEDIUM_RECTANGLE
468 x 60 Banner em tamanho real IAB Tablets FULL_BANNER
728 x 90 Cabeçalho do IAB Tablets LEADERBOARD
Largura fornecida x Altura adaptável Banner adaptativo Telefones e tablets N/A
Largura da tela x 32|50|90 Banner inteligente Telefones e tablets SMART_BANNER
Saiba mais sobre os banners adaptativos, destinados a substituir os banners inteligentes.

Outros recursos