Integrar anúncios de banner

Visão geral

O Vungle Banner está atualmente em fase BETA. Entre em contato com seu gerente de conta diretamente para obter acesso e garantir um lançamento bem-sucedido.

A partir do Vungle SDK v6.5.1, o Vungle oferece suporte a anúncios de banner. Tanto o MREC quanto os anúncios de banner exigem a versão 16 da API ou superior.

Semelhante aos anúncios MREC, os anúncios de banner em vídeo são anúncios retangulares que ocupam um local em qualquer lugar dentro do layout do aplicativo, normalmente exibidos na parte superior ou inferior da tela, para que o usuário possa continuar a interagir com o aplicativo enquanto o anúncio é reproduzido. O tamanho do local para renderizar anúncios de banner pode ser 320x50, 300x50 ou 728x90 (para tablets).

Tamanho do banner Dimensões

AdConfig.AdSize.BANNER

320x50

AdConfig.AdSize.BANNER_SHORT

300x50

AdConfig.AdSize.BANNER_LEADERBOARD

728x90 (para tablets)

Etapa 1. Integração básica completa

Para integrar anúncios de banner em seu aplicativo Android ou Amazon, siga as instruções no artigo de integração básica. Este artigo contém informações complementares e pressupõe que você tenha concluído a integração básica.

Etapa 2. Implementar ouvintes de eventos

Você pode usar callbacks genéricas, implementando LoadAdCallback para eventos de carregamento de anúncios e PlayAdCallback para eventos de reprodução de anúncios, ou usar callbacks em linhas ao invocar loadAd e playAd.

Implementar LoadAdCallback

6.5.0 e acima Legado
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() { 
  @Override
  public void onAdLoad(String id) { 
    // Ad has been successfully loaded for the placement
  } 

  @Override 
  public void onError(String id, VungleException exception) { 
    // Ad has failed to load for the placement
  }
};
Métodos substituíveis Descrição
onAdLoad(String id) Chamado quando o anúncio é carregado com sucesso e reproduzido para a veiculação
onError(String id) Chamado quando ocorre um erro ao tentar reproduzir um anúncio. Você poderá verificar a mensagem de erro de getLocalizedMessage de VungleExceptione usar getExceptionCode para depuração.

Implementar PlayAdCallback

6.6.0 e acima Legado
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
  @Override
  public void onAdStart(String id) { 
    // Ad experience started
  }

  @Override
  public void onAdEnd(String id) {
    // Ad experience ended
  }

  @Override
  public void onAdClick(String id) {
    // User clicked on ad
} @Override public void onAdRewarded(String id) { // User earned reward for watching an ad } @Override public void onAdLeftApplication(String id) { // User has left app during an ad experience } @Override public void onError(String id, VungleException exception) { // Ad failed to play } };
Métodos substituíveis Descrição
onAdStart(String id) Invocado quando o anúncio é lançado com sucesso e exibido no dispositivo.
onAdEnd(String id) Invocado quando toda a experiência do anúncio é concluída, pouco antes de o controle retornar ao aplicativo de origem.
onAdClick(String id) Invocado quando o usuário clica em um anúncio em vídeo ou botão de download.
onAdRewarded(String id) Invocado quando o usuário concluiu 80% do vídeo com recompensa e deve ser recompensado. Recompensar o usuário deve ocorrer aqui e só será acionado para veiculações com recompensa.
onAdLeftApplication(String id) Invocado quando o usuário sai do aplicativo antes que a experiência do anúncio seja concluída, como abrir a página da Loja do anúncio.
onAdError(String id, VungleException exception) Chamado quando ocorre um erro ao tentar reproduzir um anúncio. Você poderá verificar a mensagem de erro de getLocalizedMessage de VungleExceptione usar getExceptionCode para depuração.

Etapa 3. Carregar, exibir e fechar um anúncio de banner

Carregar um anúncio de banner

Carregar um anúncio de banner funciona de maneira diferente do que para outros formatos de anúncio. Existe uma API Banners específica que você usa para carregar, reproduzir e verificar a disponibilidade de anúncios. Você deve especificar o tamanho do banner que deseja carregar, e o SDK o atualizará automaticamente com o intervalo de tempo que você configurou no painel. Você também deve configurar o posicionamento para suportar um feed de banner, portanto, entre em contato com seu gerente de conta da Vungle para habilitar os anúncios de banner para um canal.

  • Carregue um anúncio de banner, chamando o método loadBanner:
    Banners.loadBanner("BANNER_ID", AdConfig.AdSize.BANNER, vungleLoadAdCallback);
  • Verifique a disponibilidade do anúncio de banner, chamando o método canPlayAd:
    Banners.canPlayAd(ad.placementReferenceId, AdConfig.AdSize.BANNER);

Exibir um anúncio de banner

Como o tamanho da visualização é fixo, você deve especificar o local usado para exibir anúncios de banner com um dos tamanhos suportados: 320x50, 300x50 ou 728x90 (para tablets). Você pode colocar a visualização em qualquer lugar da tela. Este local é um LayOut. Seu tamanho deve ser igual ou maior que o tamanho do banner que você está usando. Você pode colocar esse LayOut em qualquer lugar da tela. Então você deve passar o tamanho do banner que você está usando via API Banners.

Passe este objeto ao chamar Banners.loadBanner para especificar o tamanho que você está exibindo e use Banners.getBanner para obter o objeto do anúncio Banners. Por fim, chame o método para associar o local ao anúncio de banner.

private RelativeLayout bannerContainer = findViewById(...);
// Check for banner ad availability and display
if (Banners.canPlayAd("BANNER_ID", AdConfig.AdSize.BANNER)) {
  VungleBanner vungleBanner = Banners.getBanner("BANNER_ID", AdConfig.AdSize.BANNER, vunglePlayAdCallback);
  bannerContainer.addView(vungleBanner);
}

Fechar um anúncio de banner

Como a visualização do anúncio de banner foi adicionada à visualização do local, ela também deve ser removida se a visualização do anúncio desaparecer da tela, se a atividade ou fragmento for destruído ou se o local de exibição principal for reciclado ou destruído. Se você tentar reproduzir outro anúncio de banner sem fechar o anúncio anterior, isso causará um comportamento inesperado no seu aplicativo.

vungleBanner.destroyAd();

Etapa 4. Usar nossa API VungleBanner para controle avançado (opcional)

Na maioria dos casos, a integração descrita acima é suficiente e o VungleBanner é gerenciado. Porém, se a visualização do VungleBanner estiver dentro de uma lista ou de um RecyclerView, o VungleBanner gerenciado não funcionará corretamente. No momento em que o usuário rolar o anúncio para fora da tela e voltar, o anúncio será concluído e não estará mais lá. Para tais casos, fornecemos uma API avançada para controle mais próximo do VungleBanner.

VungleBanner API de classe

Essas APIs fornecem aos desenvolvedores um controle preciso sobre como tratar o VungleBanner entre os vários eventos do ciclo de vida no aplicativo do desenvolvedor. Na maioria dos casos de uso, os desenvolvedores não precisam invocar esses métodos. Basta adicionar um VungleBanner em uma visualização principal.

Em casos raros, no entanto, uma visualização será reciclada (como um RecyclerView, ListView, etc.) ou precisaremos lidar com a visibilidade manualmente (em alguns dispositivos Android mais antigos, a WebView não é pausada automaticamente quando sai da tela).

Nome Função Notas
disableLifeCycleManagement(boolean disabled) Invoque para desativar o gerenciamento automático de banner Deve ser definido como ‘true’ para renderAd e setAdVisibility funcionarem
renderAd* Renderiza o anúncio se ele não estiver visível Também pode carregar novos anúncios
setAdVisibility* Notifica o local de visualização quando o banner está visível na tela Pausar e retomar banner
destroyAd Chame para destruir quando não for mais necessário, o local de visualização não poderá mais ser usado Libera recursos de banner
finishAd* Interrompe o anúncio atual, envia um relatório e permite que outro anúncio seja carregado depois (aplicável apenas para certa integração em RecyclerView ou ListView) Libera recursos de banner

*Você deve invocar vungleBannerAd.disableLifeCycleManagement(true) antes de usar esta API.

Visualizações VungleBanner gerenciadas e não gerenciadas

Quando você obtém um VungleBanner, por padrão, é uma visualização gerenciada. Isso significa que, no momento em que você adiciona essa visualização a um local principal, o Vungle controla quando exibir um anúncio, quando destruir um anúncio e quando enviar o relatório. Os eventos de visibilidade também são atendidos e os desenvolvedores não precisam notificar o SDK quando um objeto de exibição de banner está na tela ou não. Nos casos em que um desenvolvedor não tem uma visualização do VungleBanner dentro de uma visualização reciclável ou padrão ViewHolder, esta é a forma preferida de usar o VungleBanner.

Nos casos em que uma visualização VungleBanner está dentro de um ListView ou RecyclerView, o VungleBanner gerenciado não funcionará corretamente. No momento em que o usuário rolar o anúncio para fora da tela e voltar, o anúncio será concluído e não estará mais lá.

BannerFlowChart.png

Para esses casos, adicionamos a API disableLifeCycleManagement(boolean disable) para permitir que os desenvolvedores lidem com o ciclo de vida do VungleBanner manualmente.

Antes de adicionar o VungleBanner a uma visualização ou vinculá-la, ao definir:

vungleBannerAd.disableLifeCycleManagement(boolean disabled)

Você deve chamar:

  • VungleBanner.renderAd() quando a visualização é limitada
  • VungleBanner.setAdVisibility(true|false) quando o anúncio é reciclado ou não está mais visível
  • VungleBanner.destroyAd() quando o objeto VungleBanner não é mais necessário

Etapa 5. Personalizar anúncios de banner (opcional)

Você tem a opção de personalizar anúncios individuais que reproduz, fornecendo um novo objeto adConfig para o playAd. Quando o objeto AdConfig é nulo, o anúncio é reproduzido com as configurações padrão; quando não é nulo, suas configurações substituem as do AdConfig. A seguir está um exemplo de como usar o AdConfig:

Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

O exemplo acima usa o objeto adConfig, que contém opções de configuração personalizadas. Defina o objeto AdConfig como mostrado:

AdConfig adConfig = new AdConfig();
adConfig.setAdOrientation(AdConfig.AUTO_ROTATE);
adConfig.setMuted(true);
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

A tabela a seguir lista as opções disponíveis do AdConfig para anúncios de banner:

Opção Descrição

setMuted

‘false’ se o vídeo começar com as configurações de áudio correspondentes à do aplicativo em questão, ‘true’ se começar mudo

setOrdinal

tem um valor inteiro ordinal para rastrear o número de anúncios que foram reproduzidos na mesma sessão

Observação: você pode usar o mesmo objeto AdConfig para vários anúncios.

Práticas recomendadas

  1. Antes de tentar mostrar um anúncio de banner, sempre tente verificar se a atividade principal foi concluída antes de vincular o VungleBanner a uma visualização.
    if (activity != null && activity.isFinishing()) {
      return;
    }
  2. Não mude o LayoutParams de VungleBanner. Isso pode afetar negativamente a forma como o banner é exibido e, possivelmente, fazer com que seu anúncio não seja visível.
  3. Não coloque o anúncio em um local de tamanho menor que o anúncio solicitado. Se você estiver solicitando um banner regular (320 x 50), certifique-se de que seu local principal seja de pelo menos 320 dp x 50 dp.

Código de amostra para integração avançada

VungleBannerAdAdapter.java

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

Esse artigo foi útil?