Annonce interstitielle

Les annonces interstitielles s'affichent en plein écran, recouvrant l'interface de l'application hôte. Elles sont généralement diffusées lors de points de transition naturels, par exemple entre deux activités ou pendant la pause entre les niveaux du jeu. Lorsqu'un l'application diffuse une annonce interstitielle, l'utilisateur peut appuyer sur l'annonce et continuer vers sa destination, ou le fermer et revenir à l'application.

Ce guide explique comment intégrer des annonces interstitielles dans une application Flutter.

Toujours tester avec des annonces tests

Lorsque vous créez et testez vos applications, veillez à utiliser des annonces tests plutôt que des annonces de production. À défaut, votre compte risque d'être suspendu.

Le moyen le plus simple de charger des annonces tests consiste à utiliser notre ID de bloc d'annonces test dédié interstitiels:

  • /21775744923/example/interstitial

Les blocs d'annonces de test sont configurés pour renvoyer des annonces de test pour chaque requête. Vous pouvez les utiliser dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à les remplacer par vos propres ID de bloc d'annonces avant de publier votre application.

Charger une annonce

L'exemple suivant charge une annonce interstitielle:

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

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

  /// Loads an interstitial ad.
  void loadAd() {
    AdManagerInterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdManagerAdRequest(),
        adLoadCallback: AdManagerInterstitialAdLoadCallback(
          // 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('AdManagerInterstitialAd failed to load: $error');
          },
        ));
  }
}

Événements d'annonces interstitielles

Grâce à FullScreenContentCallback, vous pouvez écouter le cycle de vie des événements, tels que l'affichage ou la fermeture de l'annonce. Définissez AdManagerInterstitialAd.fullScreenContentCallback avant de diffuser l'annonce pour recevoir des notifications pour ces événements. Cet exemple met en œuvre chaque méthode:

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

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

  /// Loads an interstitial ad.
  void loadAd() {
    AdManagerInterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdManagerAdRequest(),
        adLoadCallback: AdManagerInterstitialAdLoadCallback(
          // 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('AdManagerInterstitialAd failed to load: $error');
          },
        ));
  }
}

Afficher une annonce interstitielle

Un AdManagerInterstitialAd s'affiche sous la forme d'un Overlay par-dessus tout le contenu de l'application et est placé de manière statique ; il ne peut donc pas être ajouté l'arborescence des widgets Flutter. Vous pouvez choisir quand diffuser l'annonce en appelant show().

_interstitiaAd.show();

Une fois show() appelé, un Ad affiché de cette manière ne peut pas être ignoré de manière programmatique et nécessite une entrée utilisateur. Un AdManagerInterstitialAd ne peut être affiché qu'une seule fois. Les appels suivants à l'affichage déclencheront onAdFailedToShowFullScreenContent.

Une annonce doit être supprimée lorsque l'accès à celle-ci n'est plus nécessaire. Il est recommandé d'appeler dispose() dans les rappels FullScreenContentCallback.onAdDismissedFullScreenContent et FullScreenContentCallback.onAdFailedToShowFullScreenContent.

Et voilà ! Votre application est maintenant prête à diffuser des annonces interstitielles.

Étapes suivantes