Bannières adaptatives ancrées

Les bannières adaptatives sont la prochaine génération d'annonces réactives, maximisant les performances en optimisant la taille des annonces pour chaque appareil. Améliorant les bannières intelligentes, qui ne prenaient en charge que les hauteurs fixes, les bannières adaptatives vous permettent de spécifier la largeur de l'annonce et de l'utiliser pour déterminer la taille optimale de l'annonce.

Pour choisir la meilleure taille d'annonce, les bannières adaptatives utilisent des proportions fixes au lieu de hauteurs fixes. Cela se traduit par des bannières publicitaires qui occupent une partie plus cohérente de l'écran sur tous les appareils et offrent des opportunités d'amélioration des performances.

Lorsque vous travaillez avec des bannières adaptatives, notez qu'elles renvoient toujours une taille constante pour un appareil et une largeur donnés. Une fois que vous avez testé votre mise en page sur un appareil donné, vous pouvez être sûr que la taille de l'annonce ne changera pas. Cependant, la taille de la bannière publicitaire peut changer sur différents appareils. Par conséquent, nous vous recommandons d'adapter votre mise en page aux variations de hauteur des annonces. Dans de rares cas, la taille adaptative complète peut ne pas être remplie et une création de taille standard sera plutôt centrée dans cet emplacement.

Conditions préalables

Quand utiliser des bannières adaptatives

Les bannières adaptatives sont conçues pour remplacer à la fois la taille de bannière standard de l'industrie 320 x 50 et le format de bannière intelligente qu'elles remplacent.

Ces tailles de bannières sont couramment utilisées comme bannières ancrées, qui sont généralement verrouillées en haut ou en bas de l'écran.

Pour de telles bannières ancrées, le rapport hauteur/largeur lors de l'utilisation de bannières adaptatives sera similaire à celui d'une annonce standard de 320 x 50, comme le montrent les trois exemples ci-dessous :


bannière 320x50

Bannière adaptative

Bannière intelligente

La bannière adaptative fait un meilleur usage de la taille d'écran disponible. De plus, par rapport à une bannière intelligente, une bannière adaptative est un meilleur choix car :

  • Il utilise n'importe quelle largeur que vous fournissez, plutôt que de forcer la largeur à être en plein écran, vous permettant de prendre en compte la zone de sécurité sur iOS et d'afficher les découpes sur Android.

  • Il sélectionne une hauteur optimale pour l'appareil spécifique, plutôt que d'avoir une hauteur constante sur des appareils de différentes tailles, atténuant les effets de la fragmentation des appareils.

Notes de mise en œuvre

Lorsque vous implémentez des bannières adaptatives dans votre application, gardez à l'esprit les points suivants :

  • Vous devez connaître la largeur de la vue que l'annonce sera placée dans, et cela devrait prendre en compte la largeur de l' appareil et des zones de sécurité ou des découpes qui sont applicables.
  • Assurez-vous que l'arrière-plan de l'affichage de vos annonces est opaque afin d'être conforme aux règles AdMob lorsque des tailles d'annonces plus petites sont diffusées et ne remplissent pas l'espace publicitaire.
  • Assurez-vous d'utiliser la dernière version du plug-in Google Mobile Ads Unity. Pour la médiation, utilisez la dernière version de chaque adaptateur de médiation.
  • Les tailles de bannières adaptatives sont conçues pour fonctionner au mieux lorsque vous utilisez toute la largeur disponible. Dans la plupart des cas, il s'agira de toute la largeur de l'écran de l'appareil utilisé. Assurez-vous de prendre en compte les zones de sécurité applicables.
  • Le SDK Google Mobile Ads dimensionnera la bannière avec une hauteur d'annonce optimisée pour la largeur donnée lors de l'utilisation des API AdSize adaptatives.
  • Il existe trois méthodes pour obtenir une taille d'annonce pour adaptation: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth pour paysage, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth pour portrait, et AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth pour l'orientation en cours au moment de l' exécution.
  • La taille renvoyée pour une largeur donnée sur un appareil donné sera toujours la même, donc une fois que vous avez testé votre mise en page sur un appareil donné, vous pouvez être sûr que la taille de l'annonce ne changera pas.
  • La hauteur de la bannière ancrée n'est jamais supérieure au moindre de 15 % de la hauteur de l'appareil ou à 90 pixels indépendants de la densité et jamais inférieure à 50 pixels indépendants de la densité.
  • Pour plus de bannières de largeur, vous pouvez utiliser le AdSize.FullWidth drapeau au lieu de fournir une largeur spécifique.

Démarrage rapide

Suivez les étapes ci-dessous pour implémenter une simple bannière d'ancrage adaptative.

  1. Obtenez une taille de bannière publicitaire adaptative. La taille que vous obtenez sera utilisée pour demander votre bannière adaptative. Pour obtenir la taille d'annonce adaptative, assurez-vous que :
    1. Obtenez la largeur de l'appareil utilisé en pixels indépendants de la densité, ou définissez votre propre largeur si vous ne souhaitez pas utiliser toute la largeur de l'écran. Depuis API Unity tels que Screen.width retour pixels absolus, vous devez diviser par échelle de l' appareil (accessibles à partir MobileAds.Utils.GetDeviceScale() ).
    2. Utilisez le AdSize.FullWidth drapeau pour bannières pleine largeur.
    3. Utiliser les méthodes statiques appropriés sur la classe de taille d'annonce, comme AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) pour obtenir une adaptation AdSize objet pour l'orientation courante.
  2. Créer un BannerView objet avec votre unité d'annonce ID, la taille adaptée, et la position pertinente pour votre annonce.
  3. Créer un objet de demande d'annonce et charger votre bannière à l' aide de la LoadAd() méthode sur votre point de vue publicitaire préparé, tout comme vous le feriez avec une demande de bannière normale.

Exemple de code

Voici un exemple de script qui charge et recharge une bannière adaptative pour s'adapter à la largeur de l'écran, en tenant compte de la zone de sécurité :

using UnityEngine;
using System;
using GoogleMobileAds.Api;

public class NewMonoBehaviour : MonoBehaviour
{
    private BannerView bannerView;

    // Use this for initialization
    void Start()
    {
        RequestBanner();
    }

    public void OnGUI()
    {
        GUI.skin.label.fontSize = 60;
        Rect textOutputRect = new Rect(
          0.15f * Screen.width,
          0.25f * Screen.height,
          0.7f * Screen.width,
          0.3f * Screen.height);
        GUI.Label(textOutputRect, "Adaptive Banner Example");
    }

    private void RequestBanner()
    {
        // These ad units are configured to always serve test ads.
        #if UNITY_EDITOR
            string adUnitId = "unused";
        #elif UNITY_ANDROID
            string adUnitId = "ca-app-pub-3212738706492790/6113697308";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3212738706492790/5381898163";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Clean up banner ad before creating a new one.
        if (this.bannerView != null)
        {
            this.bannerView.Destroy();
        }

        AdSize adaptiveSize =
                AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);

        this.bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);

        // Register for ad events.
        this.bannerView.OnAdLoaded += this.HandleAdLoaded;
        this.bannerView.OnAdFailedToLoad += this.HandleAdFailedToLoad;
        this.bannerView.OnAdOpening += this.HandleAdOpened;
        this.bannerView.OnAdClosed += this.HandleAdClosed;
        this.bannerView.OnAdLeavingApplication += this.HandleAdLeftApplication;

        AdRequest adRequest = new AdRequest.Builder()
            .AddTestDevice(AdRequest.TestDeviceSimulator)
            .AddTestDevice("0123456789ABCDEF0123456789ABCDEF")
            .Build();

        // Load a banner ad.
        this.bannerView.LoadAd(adRequest);
    }

    #region Banner callback handlers

    public void HandleAdLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdLoaded event received");
        MonoBehaviour.print(String.Format("Ad Height: {0}, width: {1}",
            this.bannerView.GetHeightInPixels(),
            this.bannerView.GetWidthInPixels()));
    }

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

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

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

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

    #endregion
}

Ici , la fonction AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth est utilisée pour obtenir la taille d'une bannière dans une position d' ancrage pour l'orientation de l' interface actuelle. Pour pré-chargement d' une bannière dans une orientation ancrée donnée, utilisez la fonction appropriée de AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth et AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth .