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 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.

Carimbos úteis

Se você ainda precisar implementar o SDK do IMA no seu app, confira nosso Guia de iniciação.

Adicionar anúncios complementares ao seu app

Criar um ViewGroup para exibir o complementar

Antes de solicitar um complementar, é preciso criar um espaço para ele no layout. No XML do layout, adicione um elemento ViewGroup. Este exemplo usa uma LinearLayout. Em uma etapa posterior, você transmitirá uma referência a esse elemento ao AdDisplayContainer. Se você estiver integrando ao app BasicExample, adicione-o a activity_my.xml abaixo do com.google.android.exoplayer2.ui.PlayerView.

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 coleta uma lista de espaços de anúncios complementares para que você possa exibir vários anúncios complementares de uma só vez. Será necessário criar uma instância de ImaSdkFactory para criar o 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 espaço de anúncio complementar para cada tamanho de anúncio complementar que você pretende exibir no 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 é compatível com o uso de complementares de tamanho flexível. Depois de criar a companionAdSlots, ela precisou ser adicionada ao AdsLoader. Os exemplos a seguir mostram como fazer isso se você estiver 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! Agora, seu aplicativo está exibindo anúncios complementares.

Exibir anúncios complementares flexíveis

O IMA agora é compatível com 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 mãe e, em seguida, redimensionam a altura para se ajustarem ao conteúdo do complementar. Eles são definidos usando o tamanho complementar Fluid no Ad Manager. Consulte a imagem a seguir para saber onde definir esse valor.

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

Atualizar apps Android para complementares flexíveis

É possível declarar um espaço complementar fluido atualizando o método CompanionAdSlot.setSize() para usar CompanionAdSlot.FLUID_SIZE como ambos os 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 complementares. Para isso, abra a tag em um navegador da Web e procure uma tag CompanionAds. Nesse caso, verifique se o tamanho do complementar retornado tem o mesmo tamanho das dimensões transmitidas ao objeto CompanionAdSlot.
Qual será a aparência do meu espaço de anúncio complementar ao seguir este guia?
A imagem abaixo foi criada a partir do BasicExample e tem o conteúdo de vídeo sendo reproduzido acima com o anúncio complementar abaixo.

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