Préchargement des annonces (bêta)

Le préchargement des annonces est une fonctionnalité de chargement des annonces gérée par Google dans Google Mobile Ads Flutter Plugin qui gère le chargement et la mise en cache des annonces en votre nom. Le préchargement des annonces nécessite de modifier la façon dont vous gérez le chargement des annonces. Pour optimiser les performances à l'aide du préchargement des annonces, désactivez la mise en cache personnalisée et déléguez cette responsabilité à Google Mobile Ads Flutter Plugin.

Le préchargement des annonces offre les avantages suivants par rapport au chargement manuel des annonces :

  • Gestion des références : conserve les annonces chargées afin que vous n'ayez pas à gérer les références jusqu'à ce que vous soyez prêt à les afficher.
  • Actualisation automatique : charge automatiquement une nouvelle annonce lorsque vous en extrayez une du cache.
  • Nouvelles tentatives gérées : relance automatiquement les requêtes ayant échoué en utilisant un intervalle exponentiel entre les tentatives.
  • Gestion de l'expiration : actualise automatiquement les annonces avant leur expiration (généralement après une heure).
  • Optimisation du cache : si vous utilisez une taille de cache supérieure à un, Google Mobile Ads Flutter Plugin optimise l'ordre du cache pour diffuser la meilleure annonce.

Ce guide explique comment configurer les annonces préchargées, vérifier leur disponibilité et les afficher.

Prérequis

Avant de suivre ce tutoriel, vous devez configurer Google Mobile Ads Flutter Plugin.

Commencer à précharger les annonces

Au démarrage de l'application, appelez une fois la méthode start. Après avoir appelé la méthode start, Google Mobile Ads Flutter Plugin précharge automatiquement les annonces et relance les requêtes ayant échoué pour les configurations préchargées.

L'exemple suivant lance le préchargement des annonces :

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

Remplacez _adUnitId par l'ID de votre bloc d'annonces.

Obtenir et afficher l'annonce préchargée

Lorsque vous utilisez le préchargement des annonces, Google Mobile Ads Flutter Plugin contient les annonces mises en cache. Lorsque vous souhaitez diffuser une annonce, appelez la méthode pollAd. Google Mobile Ads Flutter Plugin récupère une annonce disponible et précharge automatiquement l'annonce suivante en arrière-plan.

Évitez d'appeler la méthode pollAd tant que vous n'êtes pas prêt à diffuser une annonce. La mise en cache des annonces permet à Google Mobile Ads Flutter Plugin d'actualiser automatiquement les annonces expirées et d'optimiser le cache.

L'exemple suivant récupère et affiche une annonce préchargée :

void _pollAndShowAd() async {
  final InterstitialAd? ad = await InterstitialAdPreloader.pollAd(_adUnitId);
  if (ad != null) {
    _interstitialAd = ad;
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdImpression: (ad) {
        // Called when an impression occurs on the ad.
        debugPrint('Ad recorded an impression.');
      },
    );
    ad.onPaidEvent = (ad, valueMicros, precision, currencyCode) {
      // Called when an ad is estimated to have earned money.
      debugPrint('Ad paid: $valueMicros $currencyCode.');
    };
    // Show the ad.
    await ad.show();
  }
}

Vérifier la disponibilité des annonces préchargées

Pour vérifier la disponibilité des annonces, choisissez l'une des options suivantes :

Obtenir la disponibilité des annonces préchargées

L'exemple suivant vérifie la disponibilité des annonces :

void _checkAdAvailability() async {
  final bool isAvailable = await InterstitialAdPreloader.isAdAvailable(
    _adUnitId,
  );
  debugPrint('Is ad available: $isAvailable');
}

Écouter la disponibilité des annonces préchargées

Enregistrez-vous pour recevoir des événements de préchargement afin d'être averti lorsque les annonces sont préchargées, ne se préchargent pas ou que le cache d'annonces est épuisé.

Les événements de préchargement sont destinés à des fins d'analyse. Dans les rappels d'événements de préchargement :

  • N'appelez pas start.
  • Évitez d'appeler pollAd, sauf si l'annonce doit être diffusée immédiatement.

L'exemple suivant enregistre les événements d'annonce :

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: PreloadCallback(
    onAdPreloaded: (preloadId, responseInfo) {
      debugPrint('Ad preloaded for ID: $preloadId');
    },
    onAdFailedToPreload: (preloadId, error) {
      debugPrint('Ad failed to preload for ID: $preloadId. Error: $error');
    },
    onAdsExhausted: (preloadId) {
      debugPrint('All preloaded ads exhausted for ID: $preloadId');
    },
  ),
);

Arrêter de précharger les annonces

Si vous n'avez plus besoin de diffuser d'annonces pour un ID de préchargement au cours de la session, vous pouvez arrêter de précharger les annonces. Pour arrêter de précharger des annonces pour un ID de préchargement spécifique, appelez destroy avec un ID de préchargement. Pour arrêter le préchargement pour tous les préchargeurs, appelez destroyAll.

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

Définir la taille de la mémoire tampon

La taille de la mémoire tampon contrôle le nombre d'annonces préchargées conservées en mémoire. Par défaut, Google optimise la taille de la mémoire tampon pour équilibrer la consommation de mémoire et la latence de diffusion des annonces. Si votre application affiche des annonces avant le chargement de l'annonce suivante, vous pouvez définir une taille de tampon personnalisée pour augmenter le nombre d'annonces conservées en mémoire.

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

Limites du cache de préchargement

Google Mobile Ads Flutter Plugin applique une limite à l'échelle de l'application sur le nombre total d'annonces préchargées pour tous les blocs d'annonces et ID de préchargement :

  • Limite par défaut : Google Mobile Ads Flutter Plugin conserve au maximum six annonces préchargées en mémoire. Cette limite est partagée entre tous les formats et ID de préchargement.
  • Nous vous recommandons de conserver une taille de tampon de deux pour chaque ID de préchargement.