Bannières

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

Les bannières sont des annonces illustrées ou textuelles rectangulaires qui occupent une partie de l'écran. Elles restent à l'écran lorsque les utilisateurs interagissent avec l'application et peuvent s'actualiser automatiquement après un certain temps. Si vous découvrez la publicité mobile, c'est un bon point de départ. Étude de cas :

Ce guide vous explique comment intégrer des bannières dans AdMob à une application Unity. En plus des extraits de code et des instructions, vous y trouverez des informations sur le dimensionnement correct des bannières et des liens vers des ressources supplémentaires.

Conditions préalables

Créer un BannerView

La première étape d'affichage d'une bannière consiste à créer un objet BannerView dans un script C# 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 System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;
    ...
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize(initStatus => { });

        this.RequestBanner();
    }

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

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
    }
}

Le constructeur d'une BannerView comporte les paramètres suivants:

  • adUnitId : ID du bloc d'annonces AdMob à partir duquel BannerView doit charger les annonces.
  • AdSize : taille d'annonce AdMob que vous souhaitez utiliser (pour en savoir plus, consultez les tailles de bannières).
  • AdPosition : position où la bannière doit être placée. L'énumération AdPosition répertorie les valeurs de position d'annonce valides.

Il est important de noter la façon dont 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 demandes d'annonces sur iOS et un bloc d'annonces Android pour les demandes sur Android.

(Facultatif) Position personnalisée de l'annonce

Pour mieux contrôler l'emplacement de l'élément BannerView à celui proposé par les valeurs AdPosition, utilisez le constructeur BannerView avec les coordonnées x et y comme paramètres:

// Create a 320x50 banner ad at coordinate (0,50) on screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, 0, 50);

L'angle supérieur gauche de BannerView est positionné au niveau des valeurs x et y transmises au constructeur, l'origine étant en haut à gauche de l'écran.

(Facultatif) Tailles d'annonces personnalisées

En plus d'utiliser une constante AdSize, vous pouvez également spécifier une taille personnalisée pour votre annonce:

AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(adUnitId, adSize, AdPosition.Bottom);

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 utilisez 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 obtenir des annonces tests lors du développement.

Charger une annonce

Une fois que BannerView est instancié, l'étape suivante consiste à charger une annonce. Cela se fait avec la méthode loadAd() dans la classe BannerView. 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:

...
    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }
...

Et voilà ! Votre application est maintenant prête à diffuser des bannières AdMob.

É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 System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;

    public void Start()
    {
        this.RequestBanner();
    }

    private void RequestBanner()
    {

        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Called when an ad request has successfully loaded.
        this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;
        // Called when an ad request failed to load.
        this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad;
        // Called when an ad is clicked.
        this.bannerView.OnAdOpening += this.HandleOnAdOpened;
        // Called when the user returned from the app after an ad click.
        this.bannerView.OnAdClosed += this.HandleOnAdClosed;

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.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.LoadAdError.GetMessage());
    }

    public void HandleOnAdOpened(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdOpened 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)
{
  MonoBehaviour.print("Banner 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 appelée lorsque l'utilisateur appuie sur une annonce. Si vous utilisez un package d'analyse pour effectuer le suivi des clics, cet outil est idéal pour en enregistrer une.
OnAdClosed Cette méthode est appelée lorsqu'un utilisateur revient dans l'application après avoir vu l'URL de destination d'une annonce. Votre application peut l'utiliser pour reprendre des activités suspendues ou effectuer toute autre tâche nécessaire afin de se préparer à interagir.

Le tableau ci-dessous liste les tailles de bannière standards.

Taille en dp (LxH) Description Garantie de disponibilité Constante AdSize
320 x 50 Bannière standard Téléphones et tablettes BANNER
320 x 100 Grande bannière Téléphones et tablettes LARGE_BANNER
300 x 250 Rectangle moyen IAB Téléphones et tablettes MEDIUM_RECTANGLE
468 x 60 Bannière complète de l'IAB Tablets FULL_BANNER
728 x 90 Classement IAB Tablets LEADERBOARD
Largeur fournie x Hauteur adaptative Bannière adaptative Téléphones et tablettes N/A
Largeur de l'écran x 32|50|90 Bannière intelligente Téléphones et tablettes SMART_BANNER
En savoir plus sur les bannières adaptatives, destinées à remplacer les bannières intelligentes

Nettoyer les bannières

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

bannerView.Destroy();

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

Ressources supplémentaires

Exemples

Témoignages