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.
- Se precisar de uma amostra, consulte nossas Perguntas frequentes.
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.](https://developers.google.cn/static/interactive-media-ads/images/ad_manager_fluid_companion.png?authuser=8&hl=pt-br)
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.