Os anúncios nativos são recursos de publicidade mostrados aos usuários por componentes de interface nativos à plataforma. Eles aparecem com base nos mesmos tipos de visualização que você usa para criar seus layouts. Além disso, podem ser formatados para combinar com o design visual do seu app.
Quando um anúncio nativo é carregado, seu app recebe um objeto de anúncio que contém os recursos dele. O aplicativo, e não o SDK dos anúncios para dispositivos móveis do Google, é responsável por mostrar esses recursos.
De modo geral, a implementação dos anúncios nativos é feita em duas etapas: carregar um anúncio usando o SDK e exibir o conteúdo dele no app.
Nesta página, mostramos como usar o SDK para carregar anúncios nativos.
Pré-requisitos
- Leia o guia para iniciantes.
Sempre use anúncios de teste
Ao criar e testar seus apps, use anúncios de teste em vez de anúncios de produção ativos.
A maneira mais fácil de carregar anúncios de teste é usar nosso ID de bloco de anúncios de teste dedicado a anúncios nativos no Android:
/21775744923/example/native
Ele foi configurado especialmente para retornar anúncios de teste em todas as solicitações, e você pode usá-lo nos seus próprios apps durante a programação, os testes e a depuração. Só não se esqueça de substituí-lo pelo seu ID de bloco de anúncios antes de publicar o app.
Para mais informações sobre como os anúncios de teste do SDK dos anúncios para dispositivos móveis do Google funcionam, consulte Anúncios de teste.
Carregar anúncios
Os anúncios nativos são carregados com a classe
AdLoader
,
que tem a própria classe
Builder
para personalização durante a criação. Com a adição de listeners ao AdLoader
durante a criação dele, um aplicativo especifica quais tipos de anúncio nativo ele poderá receber. O AdLoader
solicita apenas esses tipos.
Criar um AdLoader
O código a seguir demonstra como criar um AdLoader
que pode carregar anúncios nativos:
Java
Kotlin
Substitua AD_UNIT_ID pelo ID do seu dispositivo de teste.
O método forNativeAd()
é responsável por preparar o AdLoader
para o formato NativeAd
.
Quando um anúncio é carregado com sucesso, o método onNativeAdLoaded()
do objeto listener é chamado.
Configurar um AdListener com o AdLoader (opcional)
Ao criar o AdLoader
, a função withAdListener
define um AdListener
para o carregador. O método usa um AdListener
como único parâmetro, que recebe callbacks do AdLoader
quando acontecem eventos de ciclo de vida do anúncio:
Java
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
new AdListener() {});
Kotlin
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
object : AdListener() {}
)
Solicitar anúncios
Depois de criar um AdLoader
, é hora de usá-lo para solicitar anúncios.
Há dois métodos disponíveis para isso: loadAd()
e loadAds()
.
loadAd()
Esse método envia uma solicitação de um único anúncio.
Java
adLoader.loadAd(new AdManagerAdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdManagerAdRequest.Builder().build())
loadAds()
Esse método envia uma solicitação de vários anúncios (até cinco):
Java
// Load three native ads.
adLoader.loadAds(new AdManagerAdRequest.Builder().build(), 3);
Kotlin
// Load three native ads.
adLoader.loadAds(AdManagerAdRequest.Builder().build(), 3)
Os dois métodos usam um objeto AdManagerAdRequest
como primeiro parâmetro. Essa é a mesma classe AdManagerAdRequest
usada por banners e intersticiais. Você pode usar métodos da classe AdManagerAdRequest
para adicionar informações de segmentação, assim como faria com outros formatos de anúncio.
Carregar vários anúncios (opcional)
O método loadAds()
usa um parâmetro adicional: o número de anúncios que o SDK deve tentar carregar para a solicitação. Esse número é limitado a cinco, e não há garantia de que o SDK vai retornar a quantidade exata de anúncios solicitados.
Todos os anúncios retornados pelo Google serão diferentes uns dos outros, mas não há garantia de que os anúncios de inventário reservado ou de compradores terceirizados sejam únicos.
Não use o método loadAds()
se você estiver usando a mediação, porque as solicitações de vários anúncios nativos não funcionam para IDs de bloco de anúncios que foram configurados para mediação.
Callbacks
Depois de chamar loadAd()
, um único callback é feito para os métodos de listener definidos anteriormente para entregar o objeto de anúncio nativo ou informar um erro.
Liberar recursos
Use o método destroy()
em anúncios nativos carregados. Isso libera recursos utilizados e evita vazamentos de memória.
Verifique se todas as referências de NativeAd
são destruídas no método onDestroy()
da atividade.
No seu callback onNativeAdLoaded
, destrua todos os anúncios nativos existentes que serão removidos.
Outra ação importante é verificar se a atividade foi destruída. Em caso afirmativo, chame destroy()
no anúncio retornado e volte imediatamente:
Java
nativeAd.destroy();
Kotlin
nativeAd.destroy()
Práticas recomendadas
Siga estas regras ao carregar anúncios.
Os apps que usam anúncios nativos em uma lista precisam pré-armazenar essa lista em cache.
Quando você fizer isso, limpe e recarregue o cache depois de uma hora.
- Não chame
loadAd()
em umAdLoader
até que a primeira solicitação termine de carregar.
Limite o cache de anúncios nativos apenas ao que é necessário. Por exemplo, ao usar o pré-cache, armazene apenas os anúncios que estão imediatamente visíveis na tela. Os anúncios nativos consomem muita memória quando ficam armazenados em cache, e por isso precisam ser destruídos.
Destrua os anúncios nativos quando eles não estiverem mais em uso.
Aceleração de hardware para anúncios em vídeo
Para veicular os anúncios em vídeo corretamente nas suas visualizações de anúncios nativos, ative a aceleração de hardware.
A aceleração de hardware é ativada por padrão, mas alguns apps podem desativá-la. Se esse for o caso do seu aplicativo, recomendamos ativar a aceleração de hardware para classes de atividade que usam anúncios.
Ativar a aceleração de hardware
Se o app não se comporta da forma correta com a aceleração de hardware ativada globalmente, ela também pode ser controlada para atividades específicas. Para ativar ou desativar a aceleração de hardware, use o atributo android:hardwareAccelerated
para os elementos <application>
e <activity>
no AndroidManifest.xml
. O exemplo a seguir ativa a aceleração de hardware para todo o app, mas a desativa para uma atividade:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
Consulte o guia de aceleração de hardware para mais informações sobre opções de controle. As visualizações de anúncios individuais não podem ser ativadas para aceleração de hardware com a atividade desativada. Portanto, a atividade em si precisa ter a aceleração de hardware ativada.
Mostrar seu anúncio
Depois de carregar um anúncio, basta mostrá-lo aos usuários. Acesse nosso guia de anúncios nativos avançados para saber como fazer isso.