Anúncios de banner

Selecione a plataforma: Android iOS Unity Flutter

As visualizações de banner são anúncios gráficos ou de texto retangulares que ocupam um espaço na tela. Enquanto os usuários interagem com o app, os anúncios permanecem na tela e podem ser atualizados automaticamente depois de algum tempo. Se você começou a usar a publicidade para dispositivos móveis agora, eles são uma ótima opção.

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 como dimensionar banners corretamente e links para recursos adicionais.

Pré-requisitos

Sempre use anúncios de teste

O exemplo de código a seguir 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 em todas as solicitações, o que garante a segurança.

No entanto, depois de registrar um app na interface da Web do Ad Manager e criar seus próprios IDs de bloco de anúncios para usar nele, configure explicitamente seu aparelho como um dispositivo de teste durante o desenvolvimento.

/21775744923/example/adaptive-banner

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

Antes de carregar anúncios, chame MobileAds.Initialize() para que o app inicialize o SDK dos anúncios para dispositivos móveis. Isso só precisa ser feito 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 o callback antes de carregar anúncios, porque isso garante a inicialização de todos os adaptadores de mediação.

Exemplo de BannerView

O exemplo de código a seguir detalha como usar a visualização de banner. Nele, você cria uma instância de uma visualização de banner, usa um AdManagerAdRequest para carregar um anúncio na visualização e estende os recursos dela processando 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.

// Create a 320x50 banner at top of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

Substitua AD_UNIT_ID pelo ID do seu bloco de anúncios.

O construtor de um AdManagerBannerView tem os seguintes parâmetros:

  • adUnitId: o ID do bloco de anúncios do banner a ser carregado.
  • AdSize: o tamanho do banner que você quer usar.
  • AdPosition: a posição em que as visualizações de banner devem ser colocadas.

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

Para controlar melhor onde uma visualização de banner é colocada na tela, em vez do controle oferecido pelos valores AdPosition, use o construtor que tem coordenadas x e y como parâmetros:

// Create a 320x50 banner views at coordinate (0,50) on screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, 0, 50);

O canto superior esquerdo da visualização de banner é 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 um tamanho personalizado

Além de usar uma constante AdSize, também é possível especificar um tamanho personalizado para seu anúncio:

// Create a 250x250 banner at the bottom of the screen.
AdSize adSize = new AdSize(250, 250);
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", adSize, AdPosition.Bottom);

(Opcional) Vários tamanhos de anúncio

O Ad Manager permite especificar vários tamanhos de anúncio que podem ser veiculados em um AdManagerBannerView. Antes de implementar esse recurso no SDK, crie um item de linha segmentando os mesmos blocos de anúncios associados a criativos de tamanhos diferentes.

No seu app, transmita vários parâmetros AdSize para ValidAdSizes:

// Create a 250x250 banner at the bottom of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

// Add multiple ad sizes.
adManagerBannerView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner,
    new AdSize(120, 20),
    new AdSize(250, 250),
};

Se houver alteração de tamanho de AdManagerAdView durante a atualização, seu layout deverá se adaptar automaticamente ao novo tamanho. AdManagerAdView vai definir como padrão o tamanho transmitido no primeiro parâmetro até que o próximo anúncio seja retornado.

Carregar um anúncio de banner

Depois que o AdManagerBannerView estiver aplicado, carregue um anúncio com o método LoadAd() na classe AdManagerBannerView. Ele usa um parâmetro que tem informações de tempo de execução, como dados de segmentação, rótulos de exclusão e o ID fornecido pelo publisher.

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

// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());

Detectar eventos de visualização de banner

Para personalizar o comportamento do seu anúncio, conecte-o a uma série de eventos no ciclo de vida dele, como carregamento, abertura ou fechamento. Para detectar esses eventos, registre um delegado:

adManagerBannerView.OnBannerAdLoaded += () =>
{
    // Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
    // Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
    // Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};

Destruir a visualização de banner

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

if (adManagerBannerView != null)
{
    // Always destroy the banner view when no longer needed.
    adManagerBannerView.Destroy();
    adManagerBannerView = null;
}

Pronto! Seu app está preparado para exibir anúncios de banner.

Atualizar um anúncio

Se você configurou o bloco de anúncios para ser atualizado, não é preciso solicitar outro anúncio quando ele não carrega. O SDK dos anúncios para dispositivos móveis do Google respeita qualquer taxa de atualização especificada na interface do Ad Manager. Se você não tiver ativado a atualização, faça uma nova solicitação. Para mais detalhes sobre a atualização dos blocos de anúncios, como instruções para definir uma taxa de atualização, consulte Taxa de atualização dos anúncios em apps para dispositivos móveis.

A tabela a seguir lista os tamanhos de banner padrão:

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 do IAB Tablets FULL_BANNER
728 x 90 Cabeçalho do IAB Tablets LEADERBOARD
Largura fornecida x altura adaptativa 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, que substituem os banners inteligentes.

Eventos de apps

Com os eventos de aplicativos, você pode criar anúncios que enviam mensagens ao código do app. O app pode, então, realizar ações com base nessas mensagens.

Você pode detectar eventos do Ad Manager específicos do app usando AppEvent. Esses eventos podem ocorrer a qualquer momento durante o ciclo de vida do anúncio, mesmo antes de chamar o carregamento.

OnAppEventReceived é gerado quando um evento de app ocorre em um anúncio. Confira um exemplo de como processar esse evento no seu código:

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};

Veja um exemplo de como mudar a cor de segundo plano do seu app com base em um evento do aplicativo com um nome de cor:

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    if (args.Name == "color")
    {
        Color color;
        if (ColorUtility.TryParseHtmlString(args.Data, out color))
        {
            renderer.material.color = color;
        }
    }
};

E aqui está o criativo correspondente que envia o evento de cor do app:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0;
      left: 0;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

Outros recursos