Sabit uyarlanabilir banner'lar

Yeni nesil duyarlı reklamlar olan uyarlanabilir banner'lar, reklam boyutunu cihaza göre optimize ederek performansı en üst düzeye çıkarır. Yalnızca sabit yükseklikleri destekleyen akıllı banner'lardan gelişmiş versiyonu olan uyarlanabilir banner'lar, reklam genişliğini belirtmenize ve bu genişliği en uygun reklam boyutunu belirlemek için kullanmanıza olanak tanır.

En iyi reklam boyutunu seçmek için uyarlanabilir banner'lar sabit yükseklikler yerine sabit en boy oranlarını kullanır. Böylece farklı cihazlarda ekranı daha tutarlı bir şekilde kaplayan banner reklamlar elde edilebilir ve performans artışından yararlanılabilir.

Uyarlanabilir banner'larla çalışırken belirli bir cihaz ve genişlik için daima sabit bir boyut döndürdüklerini unutmayın. Düzeninizi belirli bir cihazda test ettikten sonra reklam boyutunun değişmeyeceğinden emin olabilirsiniz. Ancak banner reklam öğesinin boyutu farklı cihazlarda değişebilir. Bu nedenle, düzeninizin reklam yüksekliğindeki farklılıkları karşılamasını öneririz. Nadiren de olsa tam uyarlanabilir boyut doldurulmayabilir ve bunun yerine bu alanda standart boyutlu bir reklam öğesi ortalanır.

Ön koşullar

Uyarlanabilir banner'lar ne zaman kullanılır?

Uyarlanabilir banner'lar, sektör standardı olan 320x50 banner boyutu ve yerine geçtikleri akıllı banner biçimi için doğrudan uygulanabilen bir alternatif olacak şekilde tasarlanmıştır.

Bu banner boyutları genellikle ekranın üst veya alt kısmına sabitlenmiş sabit banner'lar olarak kullanılır.

Bu tür sabit banner'larda, uyarlanabilir banner'lar kullanılırken en boy oranı, aşağıdaki üç örnekte görüldüğü gibi standart bir 320x50 reklamın en boy oranına benzer:


320x50 banner

Uyarlanabilir banner

Akıllı banner

Uyarlanabilir banner, mevcut ekran boyutunu daha iyi kullanır. Ayrıca, akıllı banner'a kıyasla uyarlanabilir banner daha iyi bir seçimdir. Bunun nedenleri:

  • Genişliği tam ekran olmaya zorlamak yerine sağladığınız genişliği kullanır. Böylece iOS'te güvenli alanı, Android'de ise ekran kesiklerini hesaba katabilirsiniz.

  • Farklı boyutlardaki cihazlarda sabit bir yükseklik kullanmak yerine, belirli cihaz için optimum yüksekliği seçerek cihaz parçalanmasının etkilerini azaltır.

Uygulamayla ilgili notlar

Uygulamanızda uyarlanabilir banner'ları uygularken aşağıdaki noktaları göz önünde bulundurun:

  • Reklamın yerleştirileceği görünümün genişliğini bilmeniz gerekir. Bu genişlik, cihaz genişliğini ve geçerli olan güvenli alanları veya kesikleri dikkate almalıdır.
  • Reklam alanı doldurmayan daha küçük reklam boyutları yayınlandığında AdMob politikalarına uygun olması için reklam görünümü arka planınızın opak olduğundan emin olun.
  • Google Mobile Ads Unity eklentisinin en son sürümünü kullandığınızdan emin olun. Uyumlulaştırma için her uyumlulaştırma bağdaştırıcısının en yeni sürümünü kullanın.
  • Uyarlanabilir banner boyutları, mevcut genişliğin tamamı kullanıldığında en iyi performansı verecek şekilde tasarlanmıştır. Çoğu durumda bu, kullanılan cihazın ekranının tam genişliği olacaktır. Geçerli güvenli alanları hesaba katmayı unutmayın.
  • Google Mobile Ads SDK'sı, uyarlanabilir AdSize API'leri kullanılırken banner'ı belirli bir genişlik için optimize edilmiş reklam yüksekliğiyle boyutlandırır.
  • Uyarlanabilir reklamlar için reklam boyutu elde etmenin üç yöntemi vardır: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth yatay için, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth dikey için ve AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth yürütme sırasındaki mevcut yön için.
  • Belirli bir cihazda belirli bir genişlik için döndürülen boyut her zaman aynı olur. Bu nedenle, düzeninizi belirli bir cihazda test ettikten sonra reklam boyutunun değişmeyeceğinden emin olabilirsiniz.
  • Sabit banner yüksekliği, cihaz yüksekliğinin% 15'inden veya 90 yoğunluktan bağımsız pikselden daha fazla, 50 yoğunluktan bağımsız pikselden ise daha az olamaz.
  • Tam genişlikteki banner'lar için belirli bir genişlik sağlamak yerine AdSize.FullWidth işaretini kullanabilirsiniz.

Hızlı başlangıç kılavuzu

Basit bir uyarlanabilir sabit banner uygulamak için aşağıdaki adımları uygulayın.

  1. Uyarlanabilir banner reklam boyutu elde edin. Aldığınız boyut, uyarlanabilir banner'ınızı talep etmek için kullanılacaktır. Uyarlanabilir reklam boyutu elde etmek için:
    1. Kullanımdaki cihazın genişliğini yoğunluktan bağımsız piksellerle alın veya ekranın tam genişliğini kullanmak istemiyorsanız kendi genişliğinizi ayarlayın. Screen.width gibi Unity API'leri mutlak pikseller döndürdüğünden cihaz ölçeğine (MobileAds.Utils.GetDeviceScale()'den alınabilir) bölmeniz gerekir.
    2. Tam genişlikteki banner'lar için AdSize.FullWidth işaretini kullanın.
    3. Geçerli yön için uyarlanabilir bir AdSize nesnesi almak üzere reklam boyutu sınıfında uygun statik yöntemleri kullanın. Örneğin: AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)
  2. Reklam birimi kimliğiniz, uyarlanabilir boyut ve reklamınız için alakalı konumla bir BannerView nesnesi oluşturun.
  3. Bir reklam isteği nesnesi oluşturun ve hazırladığınız reklam görünümünde LoadAd() yöntemini kullanarak banner'ınızı yükleyin. Bu işlem, normal bir banner isteğinde yaptığınızla aynıdır.

Kod örneği

Güvenli alanı dikkate alarak ekran genişliğine uyacak şekilde uyarlanabilir bir banner'ı yükleyen ve yeniden yükleyen örnek bir komut dosyasını aşağıda bulabilirsiniz:

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
}

Burada, mevcut arayüz yönü için sabit konumdaki bir banner'ın boyutunu almak üzere AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth işlevi kullanılır. Sabitlenmiş bir banner'ı belirli bir yönde önceden yüklemek için AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth ve AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth'deki ilgili işlevi kullanın.