Adicionar suporte a anúncios complementares

Selecionar plataforma: HTML5 Android iOS

Este guia é destinado a publishers interessados em adicionar anúncios complementares à implementação do IMA no Android.

Pré-requisitos

  • App Android com o SDK do IMA integrado. Consulte o BasicExample se você ainda não tiver um app com o SDK integrado. Se precisar de ajuda para implementar o SDK do IMA no seu app, consulte Configurar o SDK do IMA.
  • Uma tag de anúncio configurada para retornar um anúncio complementar. Se precisar de um exemplo, consulte nossas perguntas frequentes.

Adicionar anúncios complementares ao app

Siga as instruções para adicionar um espaço do anúncio complementar e exibir anúncios complementares no seu app.

Criar um ViewGroup para exibir o complementar

Antes de solicitar um complementar, você precisa criar um espaço para ele no layout. No XML do layout, adicione um elemento ViewGroup. Este exemplo usa um LinearLayout. Em uma etapa posterior, você vai transmitir uma referência a esse elemento para o AdDisplayContainer.

Se você estiver integrando ao app BasicExample, adicione isso ao activity_my.xml arquivo, abaixo do videoPlayerContainer.

<LinearLayout
    android:id="@+id/companionAdSlot"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_gravity="center_horizontal"
    android:gravity="center"
    android:orientation="vertical"
    android:textAlignment="center" />

Criar um CompanionAdSlot

A próxima etapa é criar um objeto CompanionAdSlot, que é adicionado a uma instância ArrayList<CompanionAdSlot>. A interface AdDisplayContainer recebe uma lista de blocos de anúncios complementares para que você possa exibir vários anúncios complementares de uma só vez. Você precisa criar uma instância da classe ImaSdkFactory para criar o objeto CompanionAdSlot.

public void createCompanionAdSlot(ViewGroup companionViewGroup) {
  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot(companionViewGroup);
  companionAdSlot.setSize(300, 250);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);
}

Crie um espaço do anúncio complementar para cada tamanho de complementar que você pretende mostrar no seu app. O SDK do IMA preenche o espaço do anúncio complementar com todos os complementares da resposta VAST que têm dimensões correspondentes à altura e largura da visualização. O SDK do IMA também oferece suporte ao uso de complementares de tamanho flexível. Depois de criar os companionAdSlots, adicione-os ao AdsLoader. Os exemplos a seguir mostram como fazer isso, dependendo se você está usando a extensão Exoplayer-IMA, ou outras implementações do IMA que não usam a extensão.

Extensão Exoplayer-IMA

public void setCompanionAdSlotExoPlayer(
    Context context, ArrayList<CompanionAdSlot> companionAdSlots) {
  ImaAdsLoader adsLoader =
      new ImaAdsLoader.Builder(context).setCompanionAdSlots(companionAdSlots).build();
}

Outras implementações

public void setCompanionAdSlot(
    AdDisplayContainer adDisplayContainer, ArrayList<CompanionAdSlot> companionAdSlots) {
  adDisplayContainer.setCompanionSlots(companionAdSlots);
}

Isso é tudo! Seu aplicativo agora está mostrando anúncios complementares.

Mostrar anúncios complementares flexíveis

O IMA oferece suporte a anúncios complementares flexíveis. Esses anúncios complementares podem ser redimensionados para corresponder ao tamanho do espaço do anúncio. Eles preenchem 100% da largura da visualização da família e redimensionam a altura para ajustar o conteúdo do companion. Eles são definidos usando o tamanho do complementar Fluid no Ad Manager. Consulte a imagem a seguir para saber onde definir esse valor.

Imagem mostrando as configurações de anúncio complementar do Ad Manager. Destaca a opção de tamanhos de complementares.

Atualizar apps Android para complementares flexíveis

Você pode declarar um bloco de anúncios complementares flexível atualizando o CompanionAdSlot.setSize() método para usar CompanionAdSlot.FLUID_SIZE como os dois parâmetros.

companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);

Perguntas frequentes

Segui o guia, mas não estou vendo anúncios complementares. O que devo fazer?
Primeiro, verifique se a tag realmente está retornando complementares. Para fazer isso, abra a tag em um navegador da Web e procure uma <CompanionAds> tag. Se você encontrar essa tag, verifique se o tamanho do complementar retornado é o mesmo das dimensões transmitidas para o objeto CompanionAdSlot.
Como será meu espaço do anúncio complementar ao seguir este guia?

A imagem a seguir foi criada no BasicExample e mostra o vídeo de conteúdo sendo reproduzido na parte de cima com o anúncio complementar abaixo.

Imagem de exemplo de anúncio complementar do Android da IMA.