Interstitial con premio

Seleziona la piattaforma: Android iOS Unity Flutter

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 sono tenuti ad attivare la visualizzazione di un annuncio interstitial con premio. Questa guida mostra come integrare gli annunci interstitial con premio di AdMob in un'app Flutter.

Prerequisiti

  • Plugin Flutter 1.1.0 o versioni successive.
  • Completa la sezione Inizia. Nella tua app Flutter dovrebbe essere già importato il plug-in Flutter per Google Mobile Ads.

Esegui sempre test con gli annunci di prova

Quando crei e testi le tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione live. 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:

Android

ca-app-pub-3940256099942544/5354046379

iOS

ca-app-pub-3940256099942544/6978759866

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

Caricare un annuncio

L'esempio seguente carica un annuncio interstitial con premio:

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

Sostituisci _adUnitId con il tuo ID unità pubblicitaria.

Eventi relativi agli annunci interstitial con premio

Utilizzando FullScreenContentCallback, puoi ascoltare gli eventi del ciclo di vita, ad esempio quando l'annuncio viene mostrato o chiuso. 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:

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

Annuncio display

Un RewardedInterstitialAd viene visualizzato come overlay sopra tutti i contenuti dell'app ed è posizionato staticamente, pertanto non può essere aggiunto all'albero dei widget Flutter. Puoi scegliere quando mostrare l'annuncio chiamando show(). RewardedInterstitialAd.show() accetta un OnUserEarnedRewardCallback, che viene richiamato 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 view, RewardItem rewardItem) {
    debugPrint('Reward amount: ${rewardItem.amount}');
  },
);

Una volta chiamato show(), un Ad visualizzato in questo modo non può essere rimosso a livello di programmazione e richiede l'intervento dell'utente. Un RewardedInterstitialAd può essere mostrato una sola volta. Le chiamate successive al programma attiveranno onAdFailedToShowFullScreenContent.

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

[Facoltativo] Convalida i callback di verifica lato server (SSV)

Le app che richiedono dati aggiuntivi nei callback di verifica lato server devono utilizzare la funzionalità di dati personalizzati degli annunci con premio. Qualsiasi valore stringa impostato su un oggetto annuncio con premio viene passato al parametro di query custom_data del callback SSV. Se non è impostato alcun valore di dati personalizzati, il valore del parametro di query custom_data non sarà presente nel callback SSV.

Il seguente esempio di codice mostra come impostare le opzioni di verifica lato server dopo il caricamento dell'annuncio interstiziale con premio:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (ad) {
      ServerSideVerificationOptions _options =
          ServerSideVerificationOptions(
              customData: 'SAMPLE_CUSTOM_DATA_STRING');
      ad.setServerSideOptions(_options);
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (error) {},
  ),
);

Sostituisci SAMPLE_CUSTOM_DATA_STRING con i tuoi dati personalizzati.

Esempio completo su GitHub

Interstitial con premio