Sabit uyarlanabilir banner'lar

Uyarlanabilir banner'lar, yeni nesil duyarlı reklamlardır ve her cihaz için reklam boyutunu optimize ederek performansı artırır. Uyarlanabilir banner'lar, yalnızca sabit yükseklikleri destekleyen akıllı banner'ların gelişmiş versiyonudur. Bu özelliği kullanarak reklam genişliğini belirtebilir ve en uygun reklam boyutunu belirlemek için kullanabilirsiniz.

Uyarlanabilir banner'lar, en iyi reklam boyutunu seçmek için sabit yükseklikler yerine sabit en boy oranları kullanır. Böylece farklı cihazlarda ekranın daha tutarlı bir kısmını kaplayan banner reklamlar elde edilir ve daha iyi performans 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ı cihazlarda değişebilir. Sonuç olarak, düzeninizin reklam yüksekliğindeki farklılıkları içermesini öneririz. Nadiren, tam uyarlanabilir boyut doldurulamayabilir ve bunun yerine standart boyutlu bir reklam öğesi 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ığı akıllı banner biçiminin tam yerini alacak şekilde tasarlanmıştır.

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

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


320x50 banner

Uyarlanabilir banner

Akıllı banner

Uyarlanabilir banner, mevcut ekran boyutunu daha iyi kullanır. Ayrıca, akıllı banner'la karşılaştırıldığında uyarlanabilir banner daha iyi bir seçenektir çünkü:

  • Genişliği tam ekran olarak ayarlamak yerine sağladığınız tüm genişlikleri kullanır. Böylece, iOS'ta güvenli alanı ve Android'de ekran kesimlerini hesaba katarsınız.

  • Farklı boyutlardaki cihazlarda sabit bir yüksekliğe sahip olmak yerine belirli bir cihaz için optimum yükseklik seçerek cihazın parçalara ayrılmasının etkilerini azaltır.

Uygulama notları

Uygulamanızda uyarlanabilir banner'ları kullanırken aşağıdaki noktaları aklınızda bulundurun:

  • Reklamın yerleştirileceği görünümün genişliğini bilmeniz gerekir. Cihaz genişliği ve geçerli güvenli alanlar veya kesintiler göz önünde bulundurulmalıdır.
  • Reklam alanını doldurmayan daha küçük reklam boyutları sunulduğunda reklam görüntüleme arka planınızın AdMob politikalarına uygun olması için 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 son sürümünü kullanın.
  • Uyarlanabilir banner boyutları, kullanılabilir tam genişlik kullanılırken 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 kadar 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 reklamlar için reklam boyutu 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 yön için AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth.
  • Belirli bir cihazda belirli bir genişlik için döndürülen boyut her zaman aynı olacaktır. 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ın yüksekliğinin veya %90 yoğunluğu bağımsız piksellerinin %15'inden küçük bir değerden büyük olmaz ve hiçbir zaman 50 yoğunluğu bağımsız piksellerinden küçük olmaz.
  • 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, uyarlanabilir sabit banner uygulamak için aşağıdaki adımları uygulayın.

  1. Uyarlanabilir banner reklam boyutu alın. Aldığınız boyut, uyarlanabilir banner'ınızı istemek için kullanılır. Uyarlanabilir reklam boyutunu almak için şunları yaptığınızdan emin olun:
    1. Kullanılan cihazın genişliğini yoğunluktan bağımsız piksel cinsinden 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()'ten alınabilir) göre bölmeniz gerekir.
    2. Tam genişlikteki banner'lar için AdSize.FullWidth işaretini kullanın.
    3. Mevcut boyut için uyarlanabilir bir AdSize nesnesi almak üzere reklam boyutu sınıfında uygun statik yöntemleri (AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)) kullanın.
  2. Reklam birimi kimliğiniz, uyarlanabilir boyut ve reklamınızla ilgili konumu kullanarak bir BannerView nesnesi oluşturun.
  3. Normal reklam isteğinde olduğu gibi, bir reklam isteği nesnesi oluşturun ve hazırlanan reklam görünümünüzde LoadAd() yöntemini kullanarak banner'ınızı yükleyin.

Kod örneği

Aşağıda, güvenli alana göre ekranın genişliğine uyacak şekilde uyarlanabilir bir banner yükleyip yükleyen yeniden pazarlama komut dosyası örneği verilmiştir:

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.HandleAdOpening;
        this.bannerView.OnAdClosed += this.HandleAdClosed;

        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 HandleAdOpening(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdOpening event received");
    }

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

    #endregion
}

Burada AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth işlevi, geçerli arayüz yönü için sabit bir konumdaki banner'ın boyutunu almak amacıyla kullanılır. Sabit bir banner'ı belirli bir yönde önceden yüklemek için AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth ve AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth işaretlemelerindeki ilgili işlevi kullanın.