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 da AdMob 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:
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
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 = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), 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 = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), 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! Seu app está pronto para exibir anúncios intersticiais premiados.