Annonces interstitielles

Les annonces interstitielles sont des annonces plein écran qui couvrent l'interface de leur application hôte. Ils sont généralement affichés à des points de transition naturels dans le flux d'une application, par exemple pendant la pause entre les niveaux d'un jeu. Lorsqu'une application affiche une annonce interstitielle, l'utilisateur a le choix d'appuyer sur l'annonce et de continuer vers sa destination ou de la fermer et de revenir à l'application. Etude de cas .

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

Conditions préalables

Complete Commencez . Votre application Unity doit déjà avoir importé le plug-in Google Mobile Ads Unity.

Créer une annonce interstitielle

La première étape pour l' affichage d' une interstitiel est de créer un InterstitialAd objet dans un script associé à un GameObject .

Pour une intégration plus aisée des annonces en utilisant l'éditeur Unity, essayez la nouvelle Beta Placements 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);
}

Le constructeur de InterstitialAd a le paramètre suivant:

  • adUnitId - L'unité ad AdMob à partir de laquelle le InterstitialAd devrait charger des annonces.

Il est important de noter comment différents blocs d'annonces sont utilisés, selon la plate-forme. Vous devrez utiliser un bloc d'annonces iOS pour faire des demandes d'annonces sur iOS et un bloc d'annonces Android pour faire des demandes sur Android.

Testez toujours avec des annonces de test

L'exemple de code ci-dessus contient un ID de bloc d'annonces et vous êtes libre de 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 demande, ce qui le rend sûr à utiliser.

Cependant, une fois que vous enregistrez une application dans l'interface utilisateur AdMob et de créer vos propres identifiants d'unité d'annonce pour une utilisation dans votre application, vous devez explicitement configurer votre appareil en tant que dispositif de test lorsque vous développez. C'est extrêmement important. Tester avec de vraies annonces (même si vous n'appuyez jamais dessus) est contraire au règlement AdMob et peut entraîner la suspension de votre compte. Voir les annonces de test pour obtenir des informations sur la façon dont vous pouvez vous assurer que vous obtenez toujours des annonces de test lors du développement.

Charger une annonce

Une fois que le InterstitialAd est instancié, l'étape suivante consiste à charger une annonce. Cela se fait avec le loadAd() méthode dans la InterstitialAd classe. Il faut un AdRequest argument, qui contient des informations d' exécution (tels que le ciblage d' informations) sur une seule demande d'annonce.

Voici un exemple qui montre 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);
}

Afficher l'annonce

Les annonces interstitielles doivent être affichées pendant les pauses naturelles dans le flux d'une application. Entre les niveaux d'un jeu est un bon exemple, ou après que l'utilisateur a terminé une tâche. Pour afficher un interstitiel, utilisez la isLoaded() méthode pour vérifier que son chargement fait, alors appeler show() .

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

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

Événements publicitaires

Pour personnaliser davantage le comportement de votre annonce, vous pouvez vous accrocher à un certain nombre d'événements dans le cycle de vie de l'annonce : chargement, ouverture, fermeture, etc. Écouter ces événements en enregistrant un délégué pour le approprié EventHandler , 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 += HandleOnAdOpened;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;
    // Called when the ad click caused the user to leave the application.
    this.interstitial.OnAdLeavingApplication += HandleOnAdLeavingApplication;

    // 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 HandleOnAdOpened(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpened event received");
}

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

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

Le OnAdFailedToLoad événement contient des arguments d'événements spéciaux. Il passe 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 publicitaire La description
OnAdLoaded Le OnAdLoaded événement est exécuté lorsqu'une annonce a terminé le chargement.
OnAdFailedToLoad Le OnAdFailedToLoad événement est invoquée lorsqu'une annonce ne parvient pas à la charge. Le Message paramètre décrit le type de défaillance qui a eu lieu.
OnAdOpening Cette méthode est invoquée lorsque l'annonce est affichée, couvrant l'écran de l'appareil.
OnAdClosed Cette méthode est invoquée lorsque l'annonce interstitielle est fermée lorsque l'utilisateur appuie sur l'icône de fermeture ou utilise le bouton de retour. Si votre application a mis en pause sa sortie audio ou sa boucle de jeu, c'est l'endroit idéal pour la reprendre.
OnAdLeavingApplication Cette méthode est appelée après OnAdOpened , lorsqu'un utilisateur clique ouvre une autre application (comme le magasin Google Play), l'application actuelle de semi- finition.

Nettoyer les annonces interstitielles

Lorsque vous avez terminé avec un InterstitialAd , assurez - vous d'appeler la Destroy() méthode avant de laisser tomber votre référence à elle:

interstitial.Destroy();

Cela informe le plugin que l'objet n'est plus utilisé et que la mémoire qu'il occupe peut être récupérée. Ne pas appeler cette méthode entraîne des fuites de mémoire.

Quelques bonnes pratiques

Déterminez si les annonces interstitielles sont le bon type d'annonce pour 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 partager une image ou terminer 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. Assurez-vous de considérer à quels moments du flux de travail de votre application vous afficherez des annonces interstitielles et comment l'utilisateur est susceptible de répondre.
N'oubliez pas de mettre l'action en pause lors de l'affichage d'une annonce interstitielle.
Il existe différents types d'annonces interstitielles : textuelles, illustrées, vidéo, etc. Il est important de vous assurer que lorsque votre application affiche une annonce interstitielle, elle suspend également son utilisation de certaines ressources pour permettre à l'annonce d'en tirer parti. Par exemple, lorsque vous passez l'appel pour afficher une annonce interstitielle, veillez à mettre en pause toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons dans le onAdClosed() gestionnaire d'événements, qui sera appelée lorsque l'utilisateur a fini d' interagir avec l'annonce. En outre, envisagez d'interrompre temporairement toutes les tâches de calcul intenses (telles qu'une boucle de jeu) pendant l'affichage de l'annonce. Cela garantira que l'utilisateur ne verra pas de graphiques lents ou ne répondant pas ou de vidéo saccadée.
Prévoyez un temps de chargement adéquat.
Tout comme il est important de s'assurer que vous affichez des annonces interstitielles à un moment approprié, il est également important de s'assurer que l'utilisateur n'a pas à attendre qu'elles se chargent. Chargement l'annonce à l' avance en appelant loadAd() avant l' intention d'appeler show() peut vous assurer que votre application a une interstitiel complètement chargée au prêt le moment venu pour afficher un.
N'inondez pas l'utilisateur de publicités.
Bien que l'augmentation de la fréquence des annonces interstitielles dans votre application puisse sembler être un excellent moyen d'augmenter les revenus, cela peut également 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 l'utilisation de votre application.

Ressources additionnelles

Échantillons

Réussites