Anúncios intersticiais

Os anúncios intersticiais são anúncios em tela cheia que cobrem a interface do app host. Geralmente, eles são exibidos em pontos de transição naturais no fluxo de um app, como entre atividades ou durante a pausa entre os níveis de um jogo. Quando um app mostra um anúncio intersticial, o usuário tem a opção de tocar no anúncio e continuar até o destino ou fechar e retornar ao app.

Este guia explica como integrar anúncios intersticiais a um app Android.

Pré-requisitos

  • SDK dos anúncios para dispositivos móveis do Google 19.7.0 ou mais recente.
  • Leia o Guia explicativo.

Sempre faça testes com 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 intersticiais Android:

/6499/example/interstitial

Ele foi configurado especialmente para retornar anúncios de teste para cada solicitação. Você pode usá-lo nos seus próprios apps durante a programação, o teste e a depuração. Apenas lembre-se de substituí-lo pelo seu próprio ID de bloco de anúncios antes de publicar o app.

Para mais informações sobre como os anúncios de teste do SDK para dispositivos móveis funcionam, consulte Anúncios de teste.

Carregar um anúncio

Para carregar um anúncio intersticial, chame o método estático load() da AdManagerInterstitialAd e transmita um AdManagerInterstitialAdLoadCallback para receber o anúncio carregado ou os possíveis erros. Observe que, assim como outros callbacks de carregamento de formato, AdManagerInterstitialAdLoadCallback usa LoadAdError para fornecer detalhes de erro de maior fidelidade.

Java

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private AdManagerInterstitialAd mAdManagerInterstitialAd;
  private static final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();

    AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest,
        new AdManagerInterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
        // The mAdManagerInterstitialAd reference will be null until
        // an ad is loaded.
        mAdManagerInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mAdManagerInterstitialAd = null;
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
  private final val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      var adRequest = AdManagerAdRequest.Builder().build()

      AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mAdManagerInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mAdManagerInterstitialAd = interstitialAd
        }
      })
    }
}

Definir o FullScreenContentCallback

O FullScreenContentCallback processa eventos relacionados à exibição do InterstitialAd. Antes de mostrar InterstitialAd, defina o callback:

Java

mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
  @Override
  public void onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.");
  }

  @Override
  public void onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    // Set the ad reference to null so you don't show the ad a second time.
    Log.d(TAG, "Ad dismissed fullscreen content.");
    mAdManagerInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mAdManagerInterstitialAd = null;
  }

  @Override
  public void onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.");
  }

  @Override
  public void onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.");
  }
});

Kotlin

mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
  override fun onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.")
  }

  override fun onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    Log.d(TAG, "Ad dismissed fullscreen content.")
    mAdManagerInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mAdManagerInterstitialAd = null
  }

  override fun onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.")
  }

  override fun onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.")
  }
}

Mostrar o anúncio

Os anúncios intersticiais precisam ser exibidos durante pausas naturais no fluxo de um app. Entre as fases de um jogo é um bom exemplo ou depois que o usuário conclui uma tarefa. Para exibir um intersticial, use o método show().

Java

if (mAdManagerInterstitialAd != null) {
  mAdManagerInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Kotlin

if (mAdManagerInterstitialAd != null) {
  mAdManagerInterstitialAd?.show(this)
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.")
}

Algumas práticas recomendadas

Avalie se os anúncios intersticiais são o tipo certo de anúncio para seu app.
Os anúncios intersticiais funcionam melhor em apps com pontos de transição natural. Esse ponto é criado pela conclusão de uma tarefa em um app, como compartilhamento de uma imagem ou conclusão de um nível de jogo. Considere em que pontos no fluxo de trabalho do seu app você exibirá anúncios intersticiais e como o usuário provavelmente responderá.
Lembre-se de pausar a ação ao exibir um anúncio intersticial.
Há vários tipos diferentes de anúncios intersticiais: de texto, gráficos, em vídeo e muito mais. É importante garantir que, quando seu app exibe um anúncio intersticial, ele também suspende o uso de alguns recursos para permitir que o anúncio aproveite-os. Por exemplo, ao fazer a chamada para mostrar um anúncio intersticial, pause qualquer saída de áudio que esteja sendo produzida pelo app.
Permita um tempo de carregamento adequado.
Tão importante quanto a exibição dos anúncios intersticiais no momento adequado é garantir que o usuário não tenha que esperar o carregamento deles. Carregar o anúncio com antecedência chamando load() antes da intenção de chamar show() garante que seu app tenha um anúncio intersticial totalmente carregado disponível no momento da exibição.
Não sobrecarregue o usuário com anúncios.
Embora aumentar a frequência de anúncios intersticiais no seu app possa parecer uma ótima maneira de aumentar a receita, ele também pode prejudicar a experiência do usuário e reduzir as taxas de cliques. Confira se os usuários não são interrompidos com tanta frequência que não possam mais aproveitar o uso do app.

Exemplos no GitHub

  • Exemplo de anúncios intersticiais: Java | Kotlin

Próximas etapas