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

Créer une annonce interstitielle

La première étape d'affichage d'un interstitiel consiste à créer un objet InterstitialAd dans un script associé à un GameObject.

Pour faciliter l'intégration des annonces à l'aide de l'éditeur Unity, essayez la nouvelle version bêta des emplacements d'annonces.

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

Le constructeur de InterstitialAd comporte le paramètre suivant:

  • adUnitId : ID du bloc d'annonces AdMob à partir duquel InterstitialAd doit charger les annonces.

La façon dont les différents blocs d'annonces sont utilisés dépend de la plate-forme. Vous devez utiliser un bloc d'annonces iOS pour envoyer des demandes d'annonces sur iOS et un bloc d'annonces Android pour les demandes sur Android.

Toujours tester avec des annonces tests

L'exemple de code ci-dessus contient un ID de bloc d'annonces. Vous êtes libre d'en demander des annonces. 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. C'est extrêmement important. Le fait de tester des annonces réelles (même si vous ne les appuyez jamais) va à l'encontre du règlement AdMob et peut entraîner la suspension de votre compte. Consultez la section Annonces tests pour savoir comment vous assurer de toujours disposer d'annonces tests lors du développement.

Charger une annonce

Une fois que InterstitialAd est instancié, l'étape suivante consiste à charger une annonce. Pour ce faire, exécutez la méthode loadAd() de la classe InterstitialAd. Elle utilise un argument AdRequest, qui contient des informations d'exécution (telles que des informations de ciblage) sur une seule demande d'annonce.

Voici un exemple montrant comment charger une annonce:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

Diffuser l'annonce

Les annonces interstitielles doivent s'afficher pendant des pauses naturelles dans le flux d'une application. Les niveaux situés entre des jeux sont un bon exemple ou une fois que l'utilisateur a terminé une tâche. Pour diffuser un interstitiel, utilisez la méthode isLoaded() pour vérifier que le chargement est terminé, puis appelez show().

L'annonce interstitielle de l'exemple de code précédent peut être diffusée à la fin d'un jeu, comme illustré ci-dessous.

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

Événements de l'annonce

Pour personnaliser davantage le comportement de votre annonce, vous pouvez l'accrocher à plusieurs événements du cycle de vie de l'annonce: chargement, ouverture, fermeture, etc. Écoutez ces événements en enregistrant un délégué pour le EventHandler approprié, comme indiqué ci-dessous.

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLoaded event received");
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

L'événement OnAdFailedToLoad contient des arguments d'événement spéciaux. Il transmet une instance de HandleAdFailedToLoadEventArgs avec un Message décrivant l'erreur:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
Événement d'annonceDescription
OnAdLoaded L'événement OnAdLoaded est exécuté lorsqu'une annonce a fini de se charger.
OnAdFailedToLoad L'événement OnAdFailedToLoad est appelé lorsqu'une annonce ne se charge pas. Le paramètre Message décrit le type d'échec qui s'est produit.
OnAdOpening Cette méthode est invoquée lorsque l'annonce s'affiche et recouvre l'écran de l'appareil.
OnAdClosed Cette méthode est appelée lorsque l'annonce interstitielle est fermée, car l'utilisateur appuie sur l'icône de fermeture ou utilise le bouton "Retour". Si votre application a mis en pause sa sortie audio ou sa boucle de jeu, c'est l'endroit idéal pour la réactiver.

Nettoyer les annonces interstitielles

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

interstitial.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.

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 le gestionnaire d'événements onAdClosed(), qui sera invoqué 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.
Laissez le temps de chargement.
Tout comme il est important de diffuser les annonces interstitielles au bon moment, il est important de veiller à ce que l'utilisateur n'ait pas à attendre qu'elles se chargent. Si vous chargez l'annonce à l'avance en appelant loadAd() avant d'appeler show(), vous pouvez vous assurer qu'une annonce interstitielle entièrement chargée est prête à être diffusée dans votre application au moment d'en afficher une.
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 vos 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