Intersticial

Os anúncios intersticiais ocupam toda a tela e cobrem a interface do app host. Geralmente, eles aparecem em momentos de transição natural no fluxo de um app, como na troca entre atividades ou durante as pausas entre os níveis de um jogo. Quando um anúncio intersticial aparece no app, o usuário pode tocar nele e acessar a página de destino ou fechá-lo e voltar ao app.

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

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 não, sua conta pode ser suspensa.

A maneira mais fácil de carregar anúncios de teste é usar nosso ID de bloco de anúncios de teste dedicado para intersticiais:

  • /21775744923/example/interstitial

Esses blocos são configurados para retornar anúncios de teste em todas as solicitações, e você pode usá-los nos seus próprios apps durante a programação, o teste e a depuração. Só não se esqueça de substituir os IDs dos blocos de anúncios pelos seus antes de publicar o app.

Carregar um anúncio

O exemplo a seguir carrega um anúncio intersticial:

InterstitialAd.load(
  adUnitId: "_adUnitId",
  request: const AdManagerAdRequest(),
  adLoadCallback: InterstitialAdLoadCallback(
    onAdLoaded: (InterstitialAd ad) {
      // Called when an ad is successfully received.
      debugPrint('Ad was loaded.');
      // Keep a reference to the ad so you can show it later.
      _interstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      // Called when an ad request failed.
      debugPrint('Ad failed to load with error: $error');
    },
  ),
);

Substitua _adUnitId pelo ID do seu bloco de anúncios.

Eventos de anúncios intersticiais

Com o uso de FullScreenContentCallback, é possível detectar eventos de ciclo de vida, como quando o anúncio é mostrado ou dispensado. Defina AdManagerInterstitialAd.fullScreenContentCallback antes de mostrar o anúncio para receber notificações desses eventos. Este exemplo implementa cada método:

ad.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (ad) {
    // Called when the ad showed the full screen content.
    debugPrint('Ad showed full screen content.');
  },
  onAdFailedToShowFullScreenContent: (ad, err) {
    // Called when the ad failed to show full screen content.
    debugPrint('Ad failed to show full screen content with error: $err');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdDismissedFullScreenContent: (ad) {
    // Called when the ad dismissed full screen content.
    debugPrint('Ad was dismissed.');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdImpression: (ad) {
    // Called when an impression occurs on the ad.
    debugPrint('Ad recorded an impression.');
  },
  onAdClicked: (ad) {
    // Called when a click is recorded for an ad.
    debugPrint('Ad was clicked.');
  },
);

Mostrar um anúncio intersticial

Um AdManagerInterstitialAd é mostrado como um Overlay sobre todo o conteúdo do app e é posicionado de forma estática. Por isso, ele não pode ser adicionado à árvore de widgets do Flutter. Você pode escolher quando mostrar o anúncio chamando show().

_interstitialAd?.show();

Depois que show() é chamado, um Ad exibido dessa forma não pode ser dispensado de maneira programática e exige a entrada do usuário. Um AdManagerInterstitialAd só pode ser mostrado uma vez. As chamadas subsequentes vão acionar onAdFailedToShowFullScreenContent.

Um anúncio precisa ser descartado quando o acesso a ele não é mais necessário. As práticas recomendadas de quando chamar dispose() estão disponíveis nos callbacks FullScreenContentCallback.onAdDismissedFullScreenContent e FullScreenContentCallback.onAdFailedToShowFullScreenContent.

Pronto! Seu app está preparado para exibir anúncios intersticiais.

Próximas etapas