Sabit uyarlanabilir banner'lar

Uyarlanabilir banner'lar, yeni nesil duyarlı reklamlardır ve reklam boyutunu her cihaz için optimize ederek performansı en üst düzeye çıkarır. Yalnızca sabit yükseklikleri destekleyen akıllı banner'lardan daha iyi bir şekilde yararlanan uyarlanabilir banner'lar, reklam genişliğini belirtmenize ve optimum reklam boyutunu belirlemek için bunu kullanmanıza olanak tanır.

En iyi reklam boyutunu seçmek için uyarlanabilir banner'lar sabit yükseklik yerine sabit en boy oranlarını kullanır. Böylece farklı cihazlarda ekranın daha tutarlı bir bölümünü kaplayan banner reklamlar elde edilir ve performans artışı için fırsatlar sunulur.

Uyarlanabilir banner'larla çalışırken, belirli bir cihaz ve genişlik için daima sabit bir boyut döndüreceklerini unutmayın. Belirli bir cihazda düzeninizi test ettikten sonra, reklam boyutunun değişmeyeceğinden emin olabilirsiniz. Ancak, banner reklam öğesinin boyutu farklı cihazlara göre değişebilir. Bu nedenle, düzeninizin reklam yüksekliğindeki farklılıklara uymasını öneririz. Nadir durumlarda, uyarlanabilir tam boyut doldurulmayabilir ve bunun yerine, standart boyutlu bir reklam öğesi bu alanda ortalanır.

Ön koşullar

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

Uyarlanabilir banner'lar, hem endüstri standardı 320x50 banner boyutunun hem de yerini aldıkları akıllı banner biçiminin yerini alacak şekilde tasarlanmıştır.

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

Bu tür sabit banner'lar için uyarlanabilir banner'ların kullanıldığı sırada en boy oranı, aşağıdaki üç örnekte görüldüğü gibi standart bir 320x50 reklamınkine benzer olacaktır:


320x50 banner

Uyarlanabilir banner

Akıllı banner

Uyarlanabilir banner, mevcut ekran boyutundan daha iyi yararlanır. Ayrıca, uyarlanabilir banner, akıllı banner'lara kıyasla daha iyi bir seçenektir çünkü:

  • Genişliği tam ekran olacak şekilde zorlamak yerine sağladığınız herhangi bir genişliği kullanır. Böylece iOS'te güvenli alanı hesaba katabilir ve Android'de kesimleri gösterebilirsiniz.

  • Farklı boyutlu cihazlarda sabit bir yüksekliğe sahip olmak yerine söz konusu cihaz için optimum yüksekliği seçerek cihaz parçalanmasının etkilerini azaltır.

Uygulama 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 ve bunun için cihaz genişliğinin yanı sıra geçerli olan güvenli alanları veya kesimleri dikkate almanız gerekir.
  • Reklam alanını doldurmayan daha küçük reklam boyutları sunulduğunda, reklam görüntüleme arka planınızın AdMob politikalarıyla uyumlu olmak için opak olduğundan emin olun.
  • Google Mobile Ads Unity eklentisinin en yeni 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 son sürümünü kullanın.
  • Uyarlanabilir banner boyutları, mevcut tam genişlik kullanıldığında en iyi sonucu verecek şekilde tasarlanmıştır. Çoğu durumda, bu değer, kullanılan cihazın ekranının tam genişliği olur. Geçerli güvenli alanları dikkate aldığınızdan emin olun.
  • Google Mobile Ads SDK'sı uyarlanabilir AdSize API'lerini kullanırken banner'ı belirtilen genişlik için optimize edilmiş bir reklam yüksekliğiyle boyutlandırır.
  • Uyarlanabilir reklam boyutunu almanın üç yöntemi vardır: yatay için AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth, dikey için AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth ve yürütme sırasında geçerli olan yön için AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth.
  • Belirli bir cihazda belirli bir genişlik için döndürülen boyut her zaman aynı olur. Bu nedenle, belirli bir cihazda düzeninizi test ettikten sonra reklam boyutunun değişmeyeceğinden emin olabilirsiniz.
  • Sabit banner yüksekliği hiçbir zaman cihaz yüksekliğinin% 15'inden veya 90 yoğunluklu bağımsız pikselden daha az olamaz ve hiçbir zaman yoğunluktaki bağımsız pikselden 50'den 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ıç

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

  1. Uyarlanabilir banner reklam boyutu alın. Aldığınız boyut uyarlanabilir banner'ınızı istemek için kullanılacaktır. Uyarlanabilir reklam boyutunu almak için aşağıdakileri yaptığınızdan emin olun:
    1. Kullanılan cihazın genişliğini yoğunluktan bağımsız piksel olarak öğrenin veya ekranın tam genişliğini kullanmak istemiyorsanız kendi genişliğinizi ayarlayın. Screen.width gibi Unity API'leri mutlak piksel döndürdüğünden, cihaz ölçeğine göre bölmeniz gerekir (MobileAds.Utils.GetDeviceScale() değerinden alınabilir).
    2. Tam genişlikteki banner'lar için AdSize.FullWidth işaretini kullanın.
    3. Reklam boyutu sınıfında, geçerli yön için uyarlanabilir AdSize nesnesi almak amacıyla AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) gibi uygun statik yöntemleri kullanın.
  2. Reklam birimi kimliğinizi, uyarlanabilir boyutu ve reklamınızın alakalı konumunu kullanarak bir BannerView nesnesi oluşturun.
  3. Reklam isteği nesnesi oluşturun ve hazırladığınız reklam görünümünüzde LoadAd() yöntemini kullanarak normal banner isteğinde olduğu gibi banner'ınızı yükleyin.

Kod örneği

Uyarlanabilir banner'ı, güvenli alanı hesaba katarak ekranın genişliğine sığacak şekilde yükleyen ve yeniden yükleyen bir örnek komut dosyasını aşağıda görebilirsiniz:

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/ad-manager/mobile-ads-sdk/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 AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth işlevi, geçerli arayüz yönü için sabit konumdaki bir banner'ın boyutunu almak için kullanılır. Sabit bir banner'ı belirli bir yönde önceden yüklemek için AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth ve AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth'daki ilgili işlevi kullanın.