Annunci interstitial con premio (beta)

L'interstitial con premio è un tipo di formato dell'annuncio con incentivi che ti consente di offrire premi per gli annunci che vengono visualizzati automaticamente durante le normali transizioni dell'app. A differenza degli annunci con premio, gli utenti non devono attivare la visualizzazione degli annunci interstitial con premio. Questa guida mostra come integrare gli annunci interstitial con premio di Ad Manager in un'app Flutter.

Prerequisiti

  • Plugin Flutter 1.1.0 o versioni successive.
  • Completa Inizia. Il plug-in Flutter di Google Mobile Ads dovrebbe essere già stato importato nella tua app Flutter.

Esegui sempre test con annunci di prova

Quando crei e testi le tue app, assicurati di utilizzare annunci di prova anziché annunci pubblicati in produzione. In caso contrario, il tuo account potrebbe essere sospeso.

Il modo più semplice per caricare gli annunci di prova è utilizzare il nostro ID unità pubblicitaria di prova dedicato per gli annunci interstitial con premio:

  • /21775744923/example/rewarded-interstitial

Le unità pubblicitarie di test sono configurate per restituire annunci di test per ogni richiesta e puoi utilizzarle nelle tue app durante la codifica, i test e il debug. Assicurati solo di sostituirli con i tuoi ID unità pubblicitarie prima di pubblicare la tua app.

Carica un annuncio

L'esempio seguente carica un annuncio interstitial con premio:

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');
          },
        ));
  }
}

Eventi degli annunci interstitial con premio

Tramite FullScreenContentCallback, puoi ascoltare gli eventi di ciclo di vita, ad esempio quando l'annuncio viene visualizzato o ignorato. Imposta RewardedInterstitialAd.fullScreenContentCallback prima di mostrare l'annuncio per ricevere notifiche per questi eventi. Questo esempio implementa ogni metodo e registra un messaggio nella 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');
          },
        ));
  }
}

Annuncio display

Un RewardedInterstitialAd viene visualizzato come overlay sopra tutti i contenuti dell'app e viene posizionato in modo statico. Pertanto, non può essere aggiunto alla struttura ad albero dei widget Flutter. Puoi scegliere quando mostrare l'annuncio chiamando show(). RewardedInterstitialAd.show() accetta un OnUserEarnedRewardCallback, che viene invocato quando l'utente guadagna un premio. Assicurati di implementare questa funzionalità e di premiare l'utente per la visualizzazione di un annuncio.

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

Una volta chiamato show(), un Ad visualizzato in questo modo non può essere rimosso programmaticamente e richiede l'input dell'utente. Un RewardedInterstitialAd può essere visualizzato solo una volta. Le chiamate successive al programma attiverannoonAdFailedToShowFullScreenContent.

Un annuncio deve essere eliminato quando non è più necessario accedervi. La best practice per sapere quando chiamare dispose() è nei callback FullScreenContentCallback.onAdDismissedFullScreenContent e FullScreenContentCallback.onAdFailedToShowFullScreenContent.

È tutto. La tua app è ora pronta per mostrare annunci interstitial con premio.