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 tem os recursos dele. O aplicativo é o elemento responsável por mostrar esses recursos, não o SDK dos Anúncios para Dispositivos Móveis do Google (beta).
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 do anúncio no app.
Nesta página, mostramos como usar o SDK para carregar anúncios nativos. Dica: saiba mais sobre anúncios nativos no nosso manual sobre anúncios nativos.
As amostras estão disponíveis para Java e Kotlin.Confira também algumas histórias de sucesso de clientes: estudo de caso 1, estudo de caso 2.
Pré-requisitos
- Leia o guia para iniciantes.
- SDK dos anúncios para dispositivos móveis do Google (beta) 0.6.0-alpha01 ou mais recente.
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. Sua conta poderá ser suspensa se isso não for feito.
A maneira mais fácil de carregar anúncios de teste é usar nosso ID de bloco de anúncios de teste dedicado para anúncios nativos:
Formato do anúncio | Exemplo de ID de bloco de anúncios |
---|---|
Nativo | ca-app-pub-3940256099942544/2247696110 |
Vídeo nativo | ca-app-pub-3940256099942544/1044960115 |
Carregar um anúncio
Para carregar um anúncio nativo, chame o método NativeAdLoader.load()
, que usa um NativeAdRequest
e um NativeAdLoaderCallback
.
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest
class NativeFragment : Fragment() {
private var nativeAd: NativeAd? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadAd()
}
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, adCallback)
}
companion object {
// Sample native ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/2247696110"
}
}
Definir o callback de evento de anúncio nativo
Ao processar o onNativeAdLoaded
, defina o NativeAd
recebido com um NativeAdEventCallback
para configurar as funções usadas para receber eventos de ciclo de vida dos anúncios nativos:
nativeAd.adEventCallback =
object : NativeAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Native ad showed full screen content.
}
override fun onAdDismissedFullScreenContent() {
// Native ad dismissed full screen content.
}
override fun onAdFailedToShowFullScreenContent {
// Native ad failed to show full screen content.
}
override fun onAdImpression() {
// Native ad recorded an impression.
}
override fun onAdClicked() {
// Native ad recorded a click.
}
}
Opcional: carregar vários anúncios
Para carregar vários anúncios, chame load()
com o parâmetro opcional numberOfAds
.
O valor máximo que você pode definir é 5
, que representa o número de anúncios.
É possível que o SDK dos anúncios para dispositivos móveis do Google (Beta) não retorne o número exato de anúncios que você solicitou.
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
override fun onAdLoadingCompleted() {
// Called when all native ads have loaded.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, 3, adCallback)
}
Os anúncios retornados pelo SDK de anúncios para dispositivos móveis do Google (Beta) são únicos, mas os anúncios de inventário reservado ou de compradores terceirizados podem não ser.
Se você estiver usando a mediação, não chame o método load()
. Não é possível solicitar vários anúncios nativos se os IDs de blocos de anúncios forem configurados para mediação.
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 usar o pré-armazenamento de anúncios em cache, limpe e recarregue o cache depois de uma hora.
Limite o armazenamento em 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.
Exemplo
Faça o download e execute o exemplo de app que demonstra o uso do SDK dos anúncios para dispositivos móveis do Google (Beta).