Adicionar suporte a anúncios complementares

Selecione a plataforma: HTML5 Android iOS

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

Pré-requisitos

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

Adicionar anúncios complementares ao seu app

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

Criar um ViewGroup para mostrar o complemento

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

Se você estiver integrando ao app BasicExample, adicione isso ao arquivo 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 uma instância ArrayList<CompanionAdSlot>. A interface AdDisplayContainer usa uma lista de espaços para anúncios complementares para que você possa mostrar vários anúncios complementares de uma só vez. Você precisa criar uma instância da classe ImaSdkFactory para criar o objeto 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 para anúncio complementar para cada tamanho de complemento que você pretende mostrar no app. O SDK do IMA preenche o espaço com todos os complementos 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 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 da IMA que não usam a extensão.

Extensão Exoplayer-IMA

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 flexíveis de display

O IMA é compatível com anúncios complementares flexíveis. Esses anúncios complementares podem ser redimensionados para corresponder ao tamanho do espaço de anúncio. Elas preenchem 100% da largura da visualização principal e redimensionam a altura para se ajustar ao conteúdo do complemento. Eles são definidos usando o tamanho do complementar Fluid no Ad Manager. Confira na imagem a seguir 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 dispositivos complementares fluidos

Para declarar um slot complementar flexível, atualize 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 está realmente retornando acompanhantes. Para fazer isso, abra a tag em um navegador da Web e procure uma tag <CompanionAds>. Se isso acontecer, verifique se o tamanho do complemento retornado é igual às dimensões transmitidas para o objeto CompanionAdSlot.
Como será meu espaço para anúncio complementar ao seguir este guia?

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

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