Os anúncios intersticiais ficam em tela cheia e cobrem a interface do app. Eles são exibidos em pontos de transição naturais no app, como entre atividades ou durante pausas nos níveis do jogo. Quando um anúncio intersticial aparece no app, os usuários podem tocar nele e continuar ou fechar o anúncio e voltar ao app. Leia um dos nossos estudos de caso.
Neste guia, explicamos como integrar anúncios intersticiais a um app Android.
Pré-requisitos
Sempre usar anúncios de teste
Ao criar e testar seus apps, use anúncios de teste em vez de anúncios de produção ativos. Se você não usar anúncios de teste, o Google poderá suspender sua conta.
A maneira mais fácil de carregar anúncios de teste é usar o ID de bloco de anúncios de teste dedicado para intersticiais do Android:
ca-app-pub-3940256099942544/1033173712
Esse ID de bloco de anúncios foi configurado especialmente para retornar anúncios de teste em todas as solicitações. Você pode usá-lo nos seus próprios apps durante a programação, os testes e a depuração. Não se esqueça de substituí-lo pelo ID do seu bloco de anúncios antes de publicar o app.
Para detalhes sobre os anúncios de teste GMA Next-Gen SDK, consulte Ativar anúncios de teste.
Carregar um anúncio
O exemplo a seguir mostra como carregar um único anúncio:
Kotlin
// Load ads after you initialize MobileAds. InterstitialAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<InterstitialAd> { override fun onAdLoaded(ad: InterstitialAd) { // Interstitial ad loaded. interstitialAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // Interstitial ad failed to load. Log.e(TAG, "Interstitial ad failed to load: ${adError.message}") interstitialAd = null } }, )
Java
// Load ads after you initialize MobileAds. InterstitialAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<InterstitialAd>() { @Override public void onAdLoaded(@NonNull InterstitialAd ad) { // Interstitial ad loaded. interstitialAd = ad; } @Override public void onAdFailedToLoad(@NonNull LoadAdError adError) { // Interstitial ad failed to load. Log.e(TAG, "Interstitial ad failed to load: " + adError.getMessage()); interstitialAd = null; } });
Ao testar, use o ID do bloco de anúncios de teste: ca-app-pub-3940256099942544/1033173712.
Veicular o anúncio
Para mostrar um anúncio intersticial, use o método show.
Kotlin
private fun showAd(interstitialAd: InterstitialAd, activity: Activity) { // Show the ad. interstitialAd.show(activity) }
Java
private void showAd(InterstitialAd interstitialAd, Activity activity) { // Show the ad. interstitialAd.show(activity); }
Detectar eventos de anúncios
Antes de veicular o anúncio, detecte os eventos do ciclo de vida do anúncio:
Kotlin
// Listen for ad events. val ad = interstitialAd if (ad == null) { Log.e(TAG, "Interstitial ad is not ready yet.") return } ad.adEventCallback = object : InterstitialAdEventCallback { override fun onAdShowedFullScreenContent() { // Interstitial ad did show. } override fun onAdDismissedFullScreenContent() { // Interstitial ad did dismiss. interstitialAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // Interstitial ad failed to show. Log.e(TAG, "Interstitial ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // Interstitial ad did record an impression. } override fun onAdClicked() { // Interstitial ad did record a click. } }
Java
// Listen for ad events. if (interstitialAd == null) { Log.e(TAG, "Interstitial ad is not ready yet."); return; } interstitialAd.setAdEventCallback( new InterstitialAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // Interstitial ad did show. } @Override public void onAdDismissedFullScreenContent() { // Interstitial ad did dismiss. interstitialAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // Interstitial ad failed to show. Log.e(TAG, "Interstitial ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // Interstitial ad did record an impression. } @Override public void onAdClicked() { // Interstitial ad did record a click. } });