Anúncios complementares

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

Pré-requisitos

  • Aplicativo Android com o SDK do IMA integrado. Consulte o BasicExample se você ainda não tiver um app com o SDK integrado.
  • Uma tag de anúncio configurada para retornar um anúncio complementar.

Noções básicas úteis

Se você ainda precisar implementar o SDK do IMA no seu app, consulte nosso guia de primeiros passos.

Adicionar anúncios complementares ao seu app

Criar um ViewGroup para mostrar o companheiro

Antes de solicitar um companheiro, é necessário 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 no app BasicExample, adicione isso a activity_my.xml abaixo do videoPlayerContainer.

activity_my.xml

<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 um ArrayList<CompanionAdSlot>. AdDisplayContainer usa uma lista de slots de anúncios complementares para que você possa exibir vários anúncios complementares de uma vez. Você vai precisar criar uma instância de ImaSdkFactory para criar a CompanionAdSlot.

  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
  companionAdSlot.setContainer(companionViewGroup);
  companionAdSlot.setSize(300, 250);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);

Crie um local de anúncio complementar para cada tamanho de complementar que você pretende mostrar no seu app. O SDK do IMA preenche o local de anúncio complementar com todos os complementares da resposta VAST que têm dimensões que correspondem à 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 a companionAdSlots, ela precisa ser adicionada à AdsLoader. Os exemplos a seguir mostram como fazer isso dependendo se você está usando o IMA Android BasicExample, que usa a extensão Exoplayer-IMA, ou outras implementações do IMA que não usam a extensão.

BasicExample

adsLoader = new ImaAdsLoader.Builder(this).setCompanionAdSlots(companionAdSlots).build();

Outras implementações

adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);

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

Mostrar anúncios complementares fluidos

O IMA agora 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. Elas preenchem 100% da largura da visualização mãe e, em seguida, redimensionam a altura para ajustar o conteúdo do companheiro. Elas são definidas usando o tamanho complementar Fluid no Ad Manager. Confira a imagem abaixo para saber onde definir esse valor.

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

Atualizar apps Android para companheiros fluidos

É possível declarar um slot de complemento fluido atualizando o método CompanionAdSlot.setSize() para usar CompanionAdSlot.FLUID_SIZE como os dois parâmetros.

  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
  companionAdSlot.setContainer(companionViewGroup);
  companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);

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 companheiros. Para fazer isso, abra a tag em um navegador da Web e procure uma tag do CompanionAds. Se você encontrar isso, verifique se o tamanho do companheiro retornado é o mesmo das dimensões que você está transmitindo para o objeto CompanionAdSlot.
Como será meu local do anúncio complementar ao seguir este guia?
A imagem abaixo foi criada com base no Exemplo básico e tem o vídeo de conteúdo sendo reproduzido acima com o anúncio complementar abaixo.

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