Annonces interstitielles (anciennes)

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 pendant la pause entre les niveaux du jeu. Lorsqu'une application affiche une annonce interstitielle, l'utilisateur a le choix entre appuyer sur l'annonce et poursuivre vers sa destination ou la fermer et revenir à l'application. Étude de cas.

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

Prérequis

Créer une annonce interstitielle

La première étape pour afficher un interstitiel consiste à créer un objet InterstitialAd dans un script associé à un GameObject.

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 des annonces.

Il est important de noter comment les différents blocs d'annonces sont utilisés, en fonction de la plate-forme. Vous devez utiliser un bloc d'annonces iOS pour envoyer des requêtes d'annonces sur iOS et un bloc d'annonces Android pour envoyer des requêtes sur Android.

Effectuez toujours des tests avec des annonces tests

L'exemple de code ci-dessus contient un ID de bloc d'annonces, et vous pouvez demander des annonces avec celui-ci. Il a été spécialement configuré pour renvoyer des annonces de test plutôt que des annonces de production pour chaque requête, ce qui le rend sûr à utiliser.

Toutefois, une fois que vous avez enregistré une application dans l'UI AdMob et créé vos propres ID de bloc d'annonces à utiliser dans votre application, vous devez configurer explicitement votre appareil en tant qu'appareil de test lorsque vous effectuez le développement. C'est extrêmement important. Effectuer des tests avec des annonces réelles (même si vous ne les appuyez jamais) est contraire au règlement AdMob et peut entraîner la suspension de votre compte. Consultez Annonces tests pour savoir comment vous assurer de toujours recevoir des annonces tests lors du développement.

Charger une annonce

Une fois l'instance InterstitialAd créée, l'étape suivante consiste à charger une annonce. Pour ce faire, exécutez la méthode loadAd() de la classe InterstitialAd. Il prend 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 illustrant 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 lors des pauses naturelles dans le flux d'une application. Par exemple, entre les niveaux d'un jeu ou après qu'un utilisateur a terminé une tâche. Pour afficher un interstitiel, utilisez la méthode isLoaded() pour vérifier qu'il a terminé de se charger, 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 d'annonce

Pour personnaliser davantage le comportement de votre annonce, vous pouvez vous connecter à un certain nombre d'é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é une fois qu'une annonce a fini de se charger.
OnAdFailedToLoad L'événement OnAdFailedToLoad est appelé lorsqu'une annonce ne parvient pas à se charger. Le paramètre Message décrit le type d'échec qui s'est produit.
OnAdOpening Cette méthode est appelée lorsque l'annonce s'affiche, recouvrant l'écran de l'appareil.
OnAdClosed Cette méthode est appelée lorsque l'annonce interstitielle est fermée parce que 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 le moment 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 à celui-ci:

interstitial.Destroy();

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

Bonnes pratiques

Demandez-vous si les annonces interstitielles sont le bon type d'annonce pour votre application.
Les annonces interstitielles fonctionnent mieux dans les applications comportant des points de transition naturels. La finalisation d'une tâche dans une application (partager une image, terminer un niveau dans un jeu, etc.) crée un tel point. Comme l'utilisateur s'attend à une interruption de l'action, il est facile de présenter une annonce interstitielle sans perturber son expérience. Veillez à déterminer à quel moment du workflow de votre application vous allez diffuser des annonces interstitielles et comment l'utilisateur est susceptible de réagir.
N'oubliez pas de mettre en veille l'action lorsque vous affichez une annonce interstitielle.
Il existe plusieurs types d'annonces interstitielles: textuelles, illustrées, vidéo, etc. Il est important de s'assurer que lorsque votre application affiche une annonce interstitielle, elle suspend également l'utilisation de certaines ressources pour permettre à l'annonce de les utiliser. Par exemple, lorsque vous appelez l'affichage d'une annonce interstitielle, veillez à mettre en pause toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons dans le gestionnaire d'événements onAdClosed(), qui sera appelé lorsque l'utilisateur aura terminé d'interagir avec l'annonce. En outre, envisagez de suspendre temporairement toutes les tâches de calcul intenses (telles qu'une boucle de jeu) pendant la diffusion de l'annonce. Cela garantit que l'utilisateur ne rencontre pas de problèmes de lenteur ou de non-réactivité des graphismes, ni de saccades dans la vidéo.
Prévoyez un temps de chargement adéquat.
Tout comme il est important de s'assurer que vous affichez des annonces interstitielles au bon moment, il est également important de s'assurer que l'utilisateur n'a pas à attendre qu'elles se chargent. En chargeant l'annonce à l'avance en appelant loadAd() avant d'appeler show(), vous pouvez vous assurer que votre application dispose d'une annonce interstitielle entièrement chargée lorsqu'il est temps de l'afficher.
Ne submergez pas l'utilisateur avec des annonces.
Augmenter la fréquence des annonces interstitielles dans votre application peut sembler être un excellent moyen d'augmenter les revenus, mais cela peut aussi dégrader l'expérience utilisateur et réduire les taux de clics. Assurez-vous que les utilisateurs ne sont pas interrompus si fréquemment qu'ils ne peuvent plus profiter de votre application.

Ressources supplémentaires

Exemples

Témoignages