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 seguir para o destino ou fechá-lo e voltar ao app. Estudo de caso.

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 teste 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:

ca-app-pub-3940256099942544/1033173712

Ele foi configurado especialmente para retornar anúncios de teste a cada solicitação, e você pode usá-lo nos seus próprios apps durante a programação, os testes e a depuração. Apenas não se esqueça de substituí-lo pelo seu próprio ID do 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 load() estático InterstitialAd e transmita um InterstitialAdLoadCallback para receber o anúncio carregado ou possíveis erros. Assim como outros callbacks de carregamento de formato, o InterstitialAdLoadCallback aproveita LoadAdError para fornecer detalhes de erros de maior fidelidade.

Java

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

public class MainActivity extends Activity {

    private InterstitialAd mInterstitialAd;

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

      MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {}
      });
      AdRequest adRequest = new AdRequest.Builder().build();

      InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest,
        new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        mInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

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

Kotlin

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;
class MainActivity : AppCompatActivity() {
  private var mInterstitialAd: InterstitialAd? = null
  private final var TAG = "MainActivity"
    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

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

      InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mInterstitialAd = null
        }

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

Definir o FullScreenContentCallback

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

Java

mInterstitialAd.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.");
    mInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mInterstitialAd = 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

mInterstitialAd?.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.")
    mInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mInterstitialAd = 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.")
  }
}

Veicular o anúncio

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

Java

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

Kotlin

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

Algumas práticas recomendadas

Verifique 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. Esses pontos são criados após a conclusão de uma tarefa em um app, como o compartilhamento de uma imagem ou a conclusão de uma fase do jogo. Como o usuário espera uma pausa na ação, é fácil apresentar um anúncio intersticial sem interromper a experiência. Considere em que pontos do fluxo de trabalho do seu app você exibirá anúncios intersticiais e como o usuário provavelmente responderá.
Pause a ação ao mostrar 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 o app mostrar um anúncio intersticial, ele também suspenda o uso de alguns recursos para aproveitá-los. Por exemplo, ao fazer uma chamada para mostrar um anúncio intersticial, pause qualquer saída de áudio produzida pelo app.
Espere um tempo de carregamento adequado.
Assim como é importante exibir os anúncios intersticiais no momento adequado, também é importante garantir que o usuário não precise esperar o carregamento deles. Carregar o anúncio com antecedência chamando load() antes da sua intenção de chamar show() pode garantir que seu app tenha um anúncio intersticial totalmente carregado quando chegar o momento de exibi-lo.
Não sobrecarregue o usuário com anúncios.
Embora aumentar a frequência dos anúncios intersticiais no seu app possa parecer uma ótima maneira de aumentar a receita, isso também pode prejudicar a experiência do usuário e reduzir as taxas de cliques. Verifique se os usuários não são interrompidos com tanta frequência de modo que não possam mais aproveitar o uso do app.

Código-fonte

Exemplos no GitHub

  • Exemplo de anúncios intersticiais: Java | Kotlin

Histórias de sucesso

Próximas etapas