Annonces interstitielles

Sélectionnez une plate-forme : Android (bêta) Dernière sélection Android iOS Unity Flutter

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'une application diffuse une annonce interstitielle, l'utilisateur peut appuyer dessus et accéder à sa destination, ou la fermer et revenir à l'application.

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

Prérequis

  • Configurer GMA Next-Gen SDK.
  • Toujours tester avec des annonces tests

    Lorsque vous créez et testez vos applications, assurez-vous d'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é pour les interstitiels Android :

    /21775744923/example/interstitial

    Il a été spécialement configuré pour renvoyer des annonces tests pour chaque requête. Vous pouvez l'utiliser librement dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à le remplacer par votre propre ID de bloc d'annonces avant de publier votre application.

    Pour en savoir plus sur les annonces tests GMA Next-Gen SDK, consultez Activer les annonces tests.

    Charger une annonce

    Pour charger une annonce, GMA Next-Gen SDK propose les options suivantes :

    Charger avec l'API de chargement d'une seule annonce

    L'exemple suivant montre comment charger une seule annonce :

    Kotlin

    import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
    import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
    import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
    import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
    import com.google.android.libraries.ads.mobile.sdk.MobileAds
    
    class InterstitialActivity : Activity() {
      private var interstitialAd: InterstitialAd? = null
    
      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    
        // Load ads after you initialize GMA Next-Gen SDK.
        InterstitialAd.load(
          AdRequest.Builder(AD_UNIT_ID).build(),
          object : AdLoadCallback<InterstitialAd> {
            override fun onAdLoaded(ad: InterstitialAd) {
              // Interstitial ad loaded.
              interstitialAd = ad
            }
    
            override fun onAdFailedToLoad(adError: LoadAdError) {
              // Interstitial ad failed to load.
              interstitialAd = null
            }
          },
        )
      }
    
      companion object {
        // Sample interstitial ad unit ID.
        const val AD_UNIT_ID = "/21775744923/example/interstitial"
      }
    }
    

    Java

    import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
    import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
    import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
    import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
    import com.google.android.libraries.ads.mobile.sdk.MobileAds;
    
    class InterstitialActivity extends Activity {
      // Sample interstitial ad unit ID.
      private static final String AD_UNIT_ID = "/21775744923/example/interstitial";
      private InterstitialAd interstitialAd;
    
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        // Load ads after you initialize GMA Next-Gen SDK.
        InterstitialAd.load(
            new AdRequest.Builder(AD_UNIT_ID).build(),
            new AdLoadCallback<InterstitialAd>() {
              @Override
              public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
                // Interstitial ad loaded.
                AdLoadCallback.super.onAdLoaded(interstitialAd);
                InterstitialActivity.this.interstitialAd = interstitialAd;
              }
    
              @Override
              public void onAdFailedToLoad(@NonNull LoadAdError adError) {
                // Interstitial ad failed to load.
                AdLoadCallback.super.onAdFailedToLoad(adError);
                interstitialAd = null;
              }
            }
        );
      }
    }
    

    Charger avec l'API de préchargement des annonces

    Pour commencer le préchargement, procédez comme suit :

    1. Initialisez une configuration de préchargement avec une requête d'annonce.

    2. Démarrez le préchargeur pour les annonces interstitielles avec votre ID de bloc d'annonces et votre configuration de préchargement :

    Kotlin

    private fun startPreloading(adUnitId: String) {
      val adRequest = AdRequest.Builder(adUnitId).build()
      val preloadConfig = PreloadConfiguration(adRequest)
      InterstitialAdPreloader.start(adUnitId, preloadConfig)
    }
    
    

    Java

    private void startPreloading(String adUnitId) {
      AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
      PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
      InterstitialAdPreloader.start(adUnitId, preloadConfig);
    }
    
    

    Les annonces sont mises à disposition en continu à mesure que vous les diffusez. L'exemple suivant interroge une annonce à partir du préchargeur :

    Kotlin

    // Polling returns the next available ad and loads another ad in the background.
    val ad = InterstitialAdPreloader.pollAd(adUnitId)
    

    Java

    // Polling returns the next available ad and loads another ad in the background.
    final InterstitialAd ad = InterstitialAdPreloader.pollAd(adUnitId);
    

    Définir l'InterstitialAdEventCallback

    Le InterstitialAdEventCallback gère les événements liés à l'affichage de votre InterstitialAd. Avant d'afficher l'annonce interstitielle, veillez à définir le rappel :

    Kotlin

    // Listen for ad events.
    interstitialAd?.adEventCallback =
      object : InterstitialAdEventCallback {
        override fun onAdShowedFullScreenContent() {
          // Interstitial ad did show.
        }
    
        override fun onAdDismissedFullScreenContent() {
          // Interstitial ad did dismiss.
          interstitialAd = null
        }
    
        override fun onAdFailedToShowFullScreenContent(
          fullScreenContentError: FullScreenContentError
        ) {
          // Interstitial ad failed to show.
          interstitialAd = null
        }
    
        override fun onAdImpression() {
          // Interstitial ad did record an impression.
        }
    
        override fun onAdClicked() {
          // Interstitial ad did record a click.
        }
      }
    

    Java

    // Listen for ad events.
    interstitialAd.setAdEventCallback(
        new InterstitialAdEventCallback() {
          @Override
          public void onAdShowedFullScreenContent() {
            // Interstitial ad did show.
            InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
          }
    
          @Override
          public void onAdDismissedFullScreenContent() {
            // Interstitial ad did dismiss.
            InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
            interstitialAd = null;
          }
    
          @Override
          public void onAdFailedToShowFullScreenContent(
              @NonNull FullScreenContentError fullScreenContentError) {
            // Interstitial ad failed to show.
            InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
                fullScreenContentError);
            initerstitialAd = null;
          }
    
          @Override
          public void onAdImpression() {
            // Interstitial ad did record an impression.
            InterstitialAdEventCallback.super.onAdImpression();
          }
    
          @Override
          public void onAdClicked() {
            // Interstitial ad did record a click.
            InterstitialAdEventCallback.super.onAdClicked();
          }
        }
    );
    

    Diffuser l'annonce

    Pour diffuser une annonce interstitielle, utilisez la méthode show().

    Kotlin

    // Show the ad.
    interstitialAd?.show(this@InterstitialActivity)
    

    Java

    // Show the ad.
    interstitialAd.show(InterstitialActivity.this);
    

    Quelques bonnes pratiques

    Déterminez si les annonces interstitielles sont le type d'annonce adapté à votre application.
    Les annonces interstitielles fonctionnent mieux dans les applications comportant des points de transition naturels. La fin d'une tâche dans une application, comme le partage d'une image ou la fin d'un niveau de jeu, crée un tel point. Réfléchissez aux points du workflow de votre application où vous diffuserez des annonces interstitielles et à la manière dont l'utilisateur est susceptible de réagir.
    N'oubliez pas de mettre l'action en pause lorsque vous diffusez une annonce interstitielle.
    Il existe plusieurs types d'annonces interstitielles : textuelles, illustrées, vidéo, etc. Il est important de vous assurer que lorsque votre application diffuse une annonce interstitielle, elle suspend également l'utilisation de certaines ressources pour permettre à l'annonce d'en profiter. Par exemple, lorsque vous appelez l'annonce interstitielle, veillez à mettre en pause toute sortie audio produite par votre application.
    Prévoyez un temps de chargement suffisant.
    Il est important de diffuser les annonces interstitielles au bon moment, mais aussi de veiller à ce que l'utilisateur n'ait pas à attendre leur chargement. Le chargement de l'annonce à l'avance en appelant load() avant d'appeler show() peut garantir que votre application dispose d'une annonce interstitielle entièrement chargée et prête à être diffusée le moment venu.
    N'inondez pas les utilisateurs d'annonces.
    Même si le fait d'augmenter la fréquence des annonces interstitielles dans votre appli peut sembler être un excellent moyen d'augmenter vos revenus, cela peut également dégrader l'expérience utilisateur et réduire les taux de clics. Veillez à ce que les utilisateurs ne soient pas interrompus trop fréquemment, car ils risquent de ne plus pouvoir profiter de votre appli.

    Exemple

    Téléchargez et exécutez l' exemple d'application qui illustre l'utilisation du GMA Next-Gen SDK.