Bannières adaptatives ancrées

Les bannières adaptatives constituent la nouvelle génération d'annonces responsives les performances en optimisant la taille des annonces pour chaque appareil. Améliorer les bannières intelligentes qui n'acceptaient que les hauteurs fixes, les bannières adaptatives vous permettent de spécifier la largeur de l'annonce et utilisez cette valeur pour déterminer la taille d'annonce optimale.

Pour choisir la meilleure taille d'annonce, les bannières adaptatives utilisent des formats fixes plutôt que à hauteur fixe. Vous obtenez ainsi des bannières qui occupent une place plus régulière de l'écran sur tous les appareils et offre des possibilité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. Toutefois, la taille de la bannière peut varier d'un appareil à l'autre. Par conséquent, nous vous recommandons d'adapter votre mise en page aux variations de hauteur des annonces. Dans de rares cas, risque de ne pas être remplie et une création de taille standard centré dans cet emplacement.

Prérequis

Quand utiliser les bannières adaptatives ?

Les bannières adaptatives sont conçues pour se substituer à la solution prête à l'emploi à la fois pour le secteur 320 x 50 standard et le format de bannière intelligente qu'ils remplacent.

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

Pour ces bannières ancrées, le format des bannières adaptatives est le suivant : similaire à une annonce standard de 320 x 50, comme illustré dans les trois exemples. ci-dessous:


Bannière 320 x 50

Bannière adaptative

Bannière intelligente

La bannière adaptative exploite mieux la taille d'écran disponible. En outre, Par rapport à une bannière intelligente, une bannière adaptative est plus adaptée pour les raisons suivantes:

  • Elle utilise la largeur que vous fournissez au lieu de forcer la largeur totale. ce qui vous permet de tenir compte de la zone de sûreté sur iOS et des encoches sur Android.

  • Elle sélectionne une hauteur optimale pour l'appareil spécifique, plutôt qu'une hauteur constante pour les appareils de différentes tailles, ce qui atténue les effets de la fragmentation des appareils.

Notes de mise en œuvre

Lorsque vous implémentez des bannières adaptatives dans votre application, tenez compte des points suivants:

  • Vous devez connaître la largeur de la vue dans laquelle l'annonce sera placée. Cette valeur doit tenir compte de la largeur de l'appareil et de toutes les zones de sécurité ou découpes applicables.
  • Assurez-vous que l'arrière-plan de l'affichage de l'annonce est opaque pour respecter le règlement 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 de 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 de manière optimale lorsque vous utilisez l'intégralité disponible. Dans la plupart des cas, cela correspond à toute la largeur de l'écran l'appareil en cours d'utilisation. Veillez à tenir compte des 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 lorsque vous utilisez les API adaptatives AdSize.
  • Il existe trois méthodes pour obtenir une taille d'annonce adaptative: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth pour le format paysage, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth pour le format portrait et AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth pour l'orientation actuelle au moment de l'exécution.
  • La taille renvoyée pour une largeur donnée sur un appareil donné sera toujours la même. Par conséquent, 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 ne dépasse jamais la valeur la plus faible entre 15 % de la hauteur de l'appareil ou 90 pixels indépendants de la densité, et n'est jamais inférieure à 50 pixels indépendants de la densité.
  • Pour les bannières pleine largeur, vous pouvez utiliser l'option AdSize.FullWidth au lieu de fournir une largeur spécifique.

Guide de démarrage rapide

Suivez les étapes ci-dessous pour implémenter une bannière ancrée adaptative simple.

  1. Obtenez une taille de bannière adaptative. La taille obtenue servira à 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. Étant donné que les API Unity telles que Screen.width renvoient des pixels absolus, vous devez diviser par l'échelle de l'appareil (récupérable à partir de MobileAds.Utils.GetDeviceScale()).
    2. Utilisez l'indicateur AdSize.FullWidth pour les bannières pleine largeur.
    3. Utilisez les méthodes statiques appropriées sur la classe de taille d'annonce, par exemple AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) afin d'obtenir un objet AdSize adaptatif pour l'orientation actuelle.
  2. Créez un objet BannerView avec l'ID de votre bloc d'annonces, la taille adaptative et la position pertinente pour votre annonce.
  3. Créez un objet de requête d'annonce et chargez votre bannière à l'aide de la méthode LoadAd() sur votre vue d'annonce préparée, comme vous le feriez avec une requête de bannière normale.

Exemple de code

Voici un exemple de script qui charge et actualise une bannière adaptative pour qu'elle s'adapte au largeur de l'écran, en tenant compte de la zone de sûreté:

using UnityEngine;
using System;
using GoogleMobileAds.Api;

public class AdaptiveBannerSample : MonoBehaviour
{
    private BannerView _bannerView;

    // Use this for initialization
    void Start()
    {
        // Set your test devices.
        // https://developers.google.com/admob/unity/test-ads
        RequestConfiguration requestConfiguration = new RequestConfiguration
        {
            TestDeviceIds = new List<string>
            {
                AdRequest.TestDeviceSimulator,
                // Add your test device IDs (replace with your own device IDs).
                #if UNITY_IPHONE
                "96e23e80653bb28980d3f40beb58915c"
                #elif UNITY_ANDROID
                "75EF8D155528C04DACBBA6F36F433035"
                #endif
            }
        };
        MobileAds.SetRequestConfiguration(requestConfiguration);

        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus status) => 
        {
            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 (_bannerView != null)
        {
            _bannerView.Destroy();
        }

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

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

        // Register for ad events.
        _bannerView.OnBannerAdLoaded += OnBannerAdLoaded;
        _bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;

        AdRequest adRequest = new AdRequest();

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

    #region Banner callback handlers

    private void OnBannerAdLoaded(object sender, EventArgs args)
    {
        Debug.Log("Banner view loaded an ad with response : "
                 + _bannerView.GetResponseInfo());
        Debug.Log("Ad Height: {0}, width: {1}",
                _bannerView.GetHeightInPixels(),
                _bannerView.GetWidthInPixels());
    }

    private void OnBannerAdLoadFailed(LoadAdError error)
    {
        Debug.LogError("Banner view failed to load an ad with error : "
                + error);
    }

    #endregion
}

Ici, la fonction AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth est utilisé pour obtenir la taille d'une bannière à une position ancrée dans l'interface actuelle l'orientation. Pour précharger une bannière ancrée dans une orientation donnée, utilisez la méthode fonction pertinente de AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth et AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth.