Partagez vos commentaires et contribuez à l'élaboration de la feuille de route du SDK Google Mobile Ads. Répondez à l'enquête annuelle sur le SDK Google Mobile Ads 2023 avant sa fermeture le 5 mai 2023.

Annonces interstitielles

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les annonces interstitielles s'affichent en plein écran et couvrent l'interface de leur application hôte. Elles sont généralement diffusées à des points de transition naturels, par exemple lors de la pause entre les niveaux d'un jeu. Lorsqu'une application affiche une annonce interstitielle, l'utilisateur peut choisir d'appuyer dessus et de continuer jusqu'à sa destination, ou de la fermer et de revenir à l'application. Étude de cas

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

Conditions préalables

Toujours tester avec des annonces tests

L'exemple de code ci-dessous contient un ID de bloc d'annonces que vous pouvez utiliser pour demander des annonces tests. Il a été spécialement configuré pour renvoyer des annonces tests plutôt que des annonces de production pour chaque requête, ce qui permet de les utiliser en toute sécurité.

Toutefois, une fois que vous avez enregistré une application dans l'interface utilisateur AdMob et que vous avez créé vos propres ID de blocs d'annonces à utiliser dans votre application, vous devez configurer votre appareil en tant qu'appareil de test de manière explicite lors du développement.

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Initialiser le SDK Mobile Ads

Avant de charger des annonces, demandez à votre application d'initialiser le SDK Mobile Ads en appelant MobileAds.Initialize(). Cette opération ne doit être effectuée qu'une seule fois, idéalement au lancement de l'application.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

Si vous utilisez la médiation, attendez que le rappel ait lieu avant de charger les annonces. Ainsi, tous les adaptateurs de médiation seront initialisés.

Intégration

Voici les principales étapes à suivre pour intégrer des annonces interstitielles:

  1. Charger l'annonce interstitielle
  2. Diffuser l'annonce interstitielle
  3. Écouter des événements d'annonces interstitielles
  4. Nettoyer l'annonce interstitielle
  5. Précharger l'annonce interstitielle suivante

Charger l'annonce interstitielle

Pour charger une annonce interstitielle, utilisez la méthode statique Load() sur la classe InterstitialAd. La méthode de chargement nécessite un ID de bloc d'annonces, un objet AdRequest et un gestionnaire d'achèvement appelé lorsque le chargement de l'annonce réussit ou échoue. L'objet InterstitialAd chargé est fourni en tant que paramètre dans le gestionnaire d'achèvement. L'exemple ci-dessous montre comment charger un InterstitialAd.

// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
  private string _adUnitId = "unused";
#endif

  private InterstitialAd interstitialAd;

  /// <summary>
  /// Loads the interstitial ad.
  /// </summary>
  public void LoadInterstitialAd()
  {
      // Clean up the old ad before loading a new one.
      if (interstitialAd != null)
      {
            interstitialAd.Destroy();
            interstitialAd = null;
      }

      Debug.Log("Loading the interstitial ad.");

      // create our request used to load the ad.
      var adRequest = new AdRequest.Builder()
              .AddKeyword("unity-admob-sample")
              .Build();

      // send the request to load the ad.
      InterstitialAd.Load(_adUnitId, adRequest,
          (InterstitialAd ad, LoadAdError error) =>
          {
              // if error is not null, the load request failed.
              if (error != null || ad == null)
              {
                  Debug.LogError("interstitial ad failed to load an ad " +
                                 "with error : " + error);
                  return;
              }

              Debug.Log("Interstitial ad loaded with response : "
                        + ad.GetResponseInfo());

              interstitialAd = ad;
          });
  }

Diffuser l'annonce interstitielle

Pour diffuser une annonce interstitielle chargée, appelez la méthode Show() sur l'instance InterstitialAd. Les annonces peuvent être diffusées une fois par chargement. Utilisez la méthode CanShowAd() pour vérifier que l'annonce est prête à être diffusée.

/// <summary>
/// Shows the interstitial ad.
/// </summary>
public void ShowAd()
{
    if (interstitialAd != null && interstitialAd.CanShowAd())
    {
        Debug.Log("Showing interstitial ad.");
        interstitialAd.Show();
    }
    else
    {
        Debug.LogError("Interstitial ad is not ready yet.");
    }
}

Écouter des événements d'annonces interstitielles

Pour personnaliser davantage le comportement de votre annonce, vous pouvez vous accrocher à plusieurs événements du cycle de vie de l'annonce: ouverture, fermeture, etc. Pour écouter ces événements, enregistrez un délégué, comme indiqué ci-dessous.

private void RegisterEventHandlers(InterstitialAd ad)
{
    // Raised when the ad is estimated to have earned money.
    ad.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Interstitial ad paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    ad.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Interstitial ad recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    ad.OnAdClicked += () =>
    {
        Debug.Log("Interstitial ad was clicked.");
    };
    // Raised when an ad opened full screen content.
    ad.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Interstitial ad full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    ad.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Interstitial ad full screen content closed.");
    };
    // Raised when the ad failed to open full screen content.
    ad.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogError("Interstitial ad failed to open full screen content " +
                       "with error : " + error);
    };
}

Nettoyer l'annonce interstitielle

Lorsque vous avez terminé avec un InterstitialAd, veillez à appeler la méthode Destroy() avant de supprimer votre référence:

interstitialAd.Destroy();

Cela indique au plug-in que l'objet n'est plus utilisé et que la mémoire qu'il occupe peut être récupérée. L'échec de l'appel de cette méthode entraîne des fuites de mémoire.

Précharger l'annonce interstitielle suivante

Les annonces interstitielles sont des objets à usage unique. Dès lors qu'une annonce interstitielle est diffusée, l'objet ne peut plus être réutilisé. Pour demander une autre annonce interstitielle, vous devez créer un objet InterstitialAd.

Afin de préparer une annonce interstitielle pour la prochaine opportunité d'impression, préchargez l'annonce interstitielle une fois l'événement OnAdFullScreenContentClosed ou OnAdFullScreenContentFailed généré.

private void RegisterReloadHandler(InterstitialAd ad)
{
    // Raised when the ad closed full screen content.
    ad.OnAdFullScreenContentClosed += ()
    {
        Debug.Log("Interstitial Ad full screen content closed.");

        // Reload the ad so that we can show another as soon as possible.
        LoadInterstitialAd();
    };
    // Raised when the ad failed to open full screen content.
    ad.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogError("Interstitial ad failed to open full screen content " +
                       "with error : " + error);

        // Reload the ad so that we can show another as soon as possible.
        LoadInterstitialAd();
    };
}

Bonnes pratiques

Déterminez si les annonces interstitielles sont adaptées à votre application.
Les annonces interstitielles fonctionnent mieux dans les applications avec des points de transition naturels. La conclusion d'une tâche dans une application, comme le partage d'une image ou l'achèvement d'un niveau de jeu, crée un tel point. Étant donné que l'utilisateur s'attend à une pause dans l'action, il est facile de présenter une annonce interstitielle sans perturber son expérience. Réfléchissez aux étapes du flux de travail de votre application où vous diffuserez des annonces interstitielles et à la manière dont l'utilisateur est susceptible de répondre.
N'oubliez pas de mettre en veille l'action lors de la diffusion d'une annonce interstitielle.
Il existe différents types d'annonces interstitielles: textuelles, illustrées, vidéo, etc. Il est important de s'assurer que lorsque votre application affiche une annonce interstitielle, l'utilisation de certaines ressources est également suspendue afin que l'annonce puisse en profiter. Par exemple, lorsque vous effectuez l'appel pour afficher une annonce interstitielle, veillez à suspendre toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons dans l'événement OnAdFullScreenContentClosed(), qui sera appelé lorsque l'utilisateur aura fini d'interagir avec l'annonce. En outre, envisagez d'interrompre temporairement les tâches de calcul intenses (telles qu'une boucle de jeu) pendant la diffusion de l'annonce. L'utilisateur ne sera pas confronté à des images lentes ou peu réactives, ni à une vidéo saccadée.
N'inondez pas l'utilisateur d'annonces.
Même si l'augmentation de la fréquence des interstitiels dans votre application peut sembler être un excellent moyen d'accroître les revenus, cela peut également nuire à l'expérience utilisateur et à la diminution des taux de clics. Assurez-vous que les utilisateurs ne sont pas si souvent interrompus qu'ils ne peuvent plus profiter de l'utilisation de votre application.

Ressources supplémentaires

Exemples

Témoignages