Anúncios em banner

No Guia de primeiros passos, há informações sobre como implementar o SDK e exibir um anúncio de banner de teste. Este guia aborda personalizações adicionais que podem ser usadas com os anúncios de banner.

Para ver implementações dessas personalizações para anúncios de banner, faça o download do aplicativo API Demo para Android.

Fazer o download do API Demo

Os formatos de anúncio a seguir são compatíveis:

Tamanho (L x A) Descrição Disponibilidade Constante AdSize
320 x 50 Banner padrão Celulares e tablets BANNER
320 x 100 Banner grande Celulares e tablets LARGE_BANNER
300 x 250 Retângulo médio IAB Celulares e tablets MEDIUM_RECTANGLE
468 x 60 Banner em tamanho real IAB Tablets FULL_BANNER
728 x 90 Cabeçalho IAB Tablets LEADERBOARD
Largura da tela x 32|50|90 Banner inteligente Celulares e tablets SMART_BANNER

O SDK solicitará o tamanho com o qual a PublisherAdView solicitante foi instanciada. Se não houver espaço suficiente para exibir o anúncio na tela do dispositivo, nada será mostrado.

Banners inteligentes

Os banners inteligentes são blocos de anúncios que renderizam anúncios de banner na largura de qualquer tamanho de tela, dispositivo e orientação. Os banners inteligentes ajudam a lidar com o aumento da fragmentação de tela em diferentes dispositivos. Isso é feito por meio da detecção "inteligente" da largura do celular na orientação atual e do redimensionamento da exibição do anúncio para esse tamanho.

Três alturas de anúncio [em pixel independente de densidade (dp)] são implementadas nos banners inteligentes:

  • 32: altura da tela do dispositivo <= 400
  • 50: 400 < altura da tela do dispositivo <= 720
  • 90: altura da tela do dispositivo > 720

Em alguns dispositivos, tais como celulares, a altura varia de acordo com a orientação. Geralmente, os anúncios de banner inteligente nos celulares apresentam largura total x 50 dp na orientação "retrato" e largura total x 32 dp na orientação "paisagem". Nos tablets, eles apresentam largura total x 90 dp em ambas as orientações.

Quando um anúncio de imagem não é grande o suficiente para preencher todo o espaço designado, a imagem fica centralizada e os espaços em ambas as laterais são preenchidos.

Para usar banners inteligentes, especifique a constante SMART_BANNER para o tamanho do anúncio:

PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(AdSize.SMART_BANNER);

Tamanho de anúncio personalizado

Além dos blocos de anúncios padrão da AdMob, o DFP permite a veiculação de blocos de anúncios de qualquer tamanho em um aplicativo. O tamanho do anúncio (largura e altura) definido em uma solicitação de anúncio deve corresponder às dimensões da exibição de anúncio (PublisherAdView no exemplo a seguir) exibidas no aplicativo.

Exemplo:

// Define custom AdSize of 250x250 for PublisherAdView

AdSize customAdSize = new AdSize(250, 250);
PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(customAdSize);

Veja o exemplo de vários tamanhos de anúncio do DFP de uma implementação de tamanho de anúncio personalizado no aplicativo API Demo para Android.

Vários tamanhos de anúncio

Com o DFP, é possível especificar vários tamanhos de anúncio que podem ser qualificados para veiculação em uma PublisherAdView. Antes de implementar esse recurso no SDK, crie um item de linha segmentando o mesmo bloco de anúncios que está associado a criativos de tamanhos diferentes.

No seu aplicativo, basta passar vários parâmetros AdSize para setAdSizes:

PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));

Se houver alteração de tamanho da PublisherAdView durante a atualização, seu layout deverá se adaptar automaticamente ao novo tamanho.

Se a qualquer momento você precisar alterar os tamanhos de anúncio compatíveis no seu aplicativo, basta chamar setAdSizes com a nova lista de tamanhos.

// Drop support for 120x20 ad size.
adView.setAdSizes(new AdSize(250, 250), AdSize.BANNER);

A PublisherAdView definirá como padrão o tamanho passado no primeiro parâmetro até que o próximo anúncio seja retornado.

Veja o exemplo de vários tamanhos de anúncio do DFP de uma implementação de vários tamanhos de anúncio no aplicativo API Demo para Android.

Contagem manual de impressões

É possível enviar pings de impressões manualmente para o DFP se há condições especiais em relação a quando uma impressão deve ser registrada. Para fazer isso, ative uma PublisherAdRequest para impressões manuais antes de carregar um anúncio:

PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build();

Você poderá registrar uma impressão manualmente ao identificar que um anúncio foi retornado com sucesso e está sendo exibido na tela:

PublisherAdView.recordManualImpression();

Eventos de aplicativo

Com os eventos de aplicativo, é possível criar anúncios capazes de enviar mensagens aos seus respectivos códigos de aplicativo. Em seguida, o aplicativo poderá realizar ações com base nessas mensagens específicas.

Você pode monitorar eventos específicos do DFP usando o AppEventListener. Esses eventos podem ocorrer a qualquer momento durante o ciclo de vida do anuncio, mesmo antes que onAdLoaded() do AdListener seja chamado.

public interface AppEventListener {
  void onAppEvent(String name, String info);
}

void onAppEvent(String name, String info) é chamado quando ocorre um evento de aplicativo em um anúncio.

Essa interface pode ser implementada pela sua atividade ou por qualquer outro objeto:

import com.google.android.gms.ads.doubleclick.*;

public class BannerExample extends Activity implements AppEventListener {
}

e, em seguida, passada para a PublisherAdView:

adView.setAppEventListener(this);

Veja um exemplo de como alterar a cor de segundo plano do seu aplicativo dependendo de um evento do aplicativo com um nome de cor:

@Override
public void onAppEvent(String name, String info) {
  if ("color".equals(name)) {
    if ("green".equals(info) {
      // Set background color to green.
    } else if ("blue".equals(info) {
      // Set background color to blue.
    } else {
      // Set background color to black.
    }
  }
}

Veja a seguir o criativo correspondente que envia mensagens coloridas de evento de aplicativo para o listener:

<html>
<head>
  <script src="//media.admob.com/api/v1/google_mobile_app_ads.js"></script>
  <script>
    // Send a color=green event when ad loads.
    admob.events.dispatchAppEvent("color", "green");

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

Veja o exemplo de eventos de aplicativo do DFP de uma implementação de eventos de aplicativo no aplicativo API Demo para Android.

Retornos de evento do ciclo de vida do anúncio

Se desejar, você pode acompanhar eventos do ciclo de vida do anúncio, tais como falhas de solicitação ou "cliques", passando um objeto para o PublisherAdView.setAdListener que estenda o com.google.android.gms.ads.AdListener.

public abstract class AdListener {
  public void onAdLoaded();
  public void onAdFailedToLoad(int errorCode);
  public void onAdOpened();
  public void onAdClosed();
  public void onAdLeftApplication();
}

Uma classe separada estendendo AdListener pode ser definida ou você pode optar por incluir um objeto AdListener:

adView.setAdListener(new AdListener() {
  @Override
  public void onAdOpened() {
    // Save app state before going to the ad overlay.
  }
});

AdListener fornece uma implementação vazia padrão para todos os eventos do ciclo de vida do anúncio. Você só precisa substituir os eventos do anúncio que deseja implementar.

public void onAdLoaded()
Chamado quando um anúncio é recebido.
public void onAdFailedToLoad(int errorCode)

Chamado quando uma solicitação de anúncio falha. O código de erro geralmente é um destes:

  • AdRequest.ERROR_CODE_INTERNAL_ERROR
  • AdRequest.ERROR_CODE_INVALID_REQUEST
  • AdRequest.ERROR_CODE_NETWORK_ERROR
  • AdRequest.ERROR_CODE_NO_FILL
public void onAdOpened()

Chamado quando um anúncio abre uma sobreposição que cobre a tela.

public void onAdClosed()

Chamado quando o usuário está prestes a voltar para o aplicativo depois de clicar em um anúncio.

public void onAdLeftApplication()

Chamado quando um anúncio sai do aplicativo (por exemplo, para ir para o navegador).

Veja o exemplo de ad listener de uma implementação de métodos de ad listener no aplicativo API Demo para Android.

O que vem a seguir

Enviar comentários sobre…

SDK for DFP Users on Android
Precisa de ajuda? Acesse nossa página de suporte.