Interstitial

Seleziona la piattaforma: Android iOS Unity Flutter

Gli annunci interstitial sono annunci a schermo intero che coprono l'interfaccia dell'app host. Vengono in genere visualizzati in punti di transizione naturali nel flusso di un'app, ad esempio tra un'attività e l'altra o durante la pausa tra i livelli di un gioco. Quando un'app mostra un annuncio interstitial, l'utente può toccare l'annuncio e continuare fino alla destinazione o chiuderlo e tornare all'app.

Questa guida spiega come integrare gli annunci interstitial in un'app Flutter.

Esegui sempre i test con gli annunci di prova

Quando crei ed esegui test sulle 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:

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

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 l'app.

Caricare un annuncio

Il seguente esempio carica un annuncio interstitial:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

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

Eventi relativi agli annunci interstitial

Utilizzando FullScreenContentCallback, puoi ascoltare gli eventi del ciclo di vita, ad esempio quando l'annuncio viene mostrato o chiuso. Imposta InterstitialAd.fullScreenContentCallback prima di mostrare l'annuncio per ricevere notifiche per questi eventi. Questo esempio implementa ogni metodo:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // 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.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

Mostrare un annuncio interstitial

Un InterstitialAd 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().

_interstitiaAd.show();

Una volta chiamato show(), un Ad visualizzato in questo modo non può essere chiuso a livello di programmazione e richiede l'input dell'utente. Un InterstitialAd può essere mostrato una sola volta. Le chiamate successive allo show 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.

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

Passaggi successivi

Esempio completo su GitHub

Interstitial