Anúncios intersticiais premiados (Beta)

O intersticial premiado é um tipo de formato de anúncio incentivado que permite oferecer recompensas por anúncios exibidos automaticamente durante as transições naturais do app. Ao contrário dos anúncios premiados, os usuários não para visualizar um intersticial premiado. Este guia mostra como integrar anúncios intersticiais premiados do Ad Manager em um app Flutter.

Pré-requisitos

  • Plug-in do Flutter 1.1.0 ou mais recente.
  • Conclua o curso Começar. Seu O app Flutter já precisa ter o plug-in dos anúncios para dispositivos móveis do Google para Flutter importadas.

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 anúncios intersticiais premiados:

  • /21775744923/example/rewarded_interstitial

Os blocos de anúncios de teste são configurados para retornar anúncios de teste para cada solicitação, e você pode usá-las nos seus próprios apps durante a programação, o teste e a depuração. Lembre-se de substituí-los pelos seus próprios IDs de bloco de anúncios antes da publicação. seu app.

Carregar um anúncio

O exemplo a seguir carrega um anúncio intersticial premiado:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardeInterstitialdAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Eventos de anúncios intersticiais premiados

Usando FullScreenContentCallback, é possível detectar ciclos de vida eventos, como quando o anúncio é mostrado ou dispensado. Definir RewardedInterstitialAd.fullScreenContentCallback antes de exibir o anúncio para receber notificações sobre esses eventos. Este exemplo implementa cada método e registra uma mensagem no console:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardedInterstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            ad.fullScreenContentCallback = FullScreenContentCallback(
              // Called when the ad showed the full screen content.
              onAdShowedFullScreenContent: (ad) {},
              // Called when an impression occurs on the ad.
              onAdImpression: (ad) {},
              // Called when the ad failed to show full screen content.
              onAdFailedToShowFullScreenContent: (ad, err) {
                // Dispose the ad here to free resources.
                ad.dispose();
              },
              // Called when the ad dismissed full screen content.
              onAdDismissedFullScreenContent: (ad) {
                // Dispose the ad here to free resources.
                ad.dispose();
              },
              // Called when a click is recorded for an ad.
              onAdClicked: (ad) {});

            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugprint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Anúncio de display

Um RewardedInterstitialAd é exibido como uma sobreposição sobre todo o conteúdo do app. e é colocada estaticamente, portanto, ele não pode ser adicionado à árvore de widgets do Flutter. É possível escolher quando mostrar o anúncio chamando show(). RewardedInterstitialAd.show() usa um OnUserEarnedRewardCallback, que é invocado quando o usuário ganha uma recompensa. Lembre-se de implementar isso e recompense por assistir a um anúncio.

_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
  // Reward the user for watching an ad.
});

Depois que show() é chamado, um Ad mostrado dessa forma não pode ser removido de forma programática e exige entrada do usuário. Um RewardedInterstitialAd só pode ser exibido uma vez. As próximas chamadas a serem mostradas serão acionadas onAdFailedToShowFullScreenContent:

Um anúncio deverá ser descartado quando o acesso a ele não for mais necessário. A prática recomendada para quando chamar dispose() está no FullScreenContentCallback.onAdDismissedFullScreenContent e Callbacks FullScreenContentCallback.onAdFailedToShowFullScreenContent.

Pronto! Agora seu app está pronto para exibir anúncios intersticiais premiados.