Banner adaptif anchor

Banner adaptif adalah generasi berikutnya dari iklan responsif, yang memaksimalkan performa iklan dengan mengoptimalkan ukuran iklan untuk setiap perangkat. Meningkatkan kualitas banner cerdas, yang hanya mendukung ketinggian tetap, banner adaptif memungkinkan Anda menentukan lebar iklan dan menggunakan ini untuk menentukan ukuran iklan yang optimal.

Untuk memilih ukuran iklan terbaik, banner adaptif menggunakan rasio aspek tetap, bukan tinggi tetap. Hasilnya, iklan banner yang menempati bagian lebih konsisten layar di seluruh perangkat dan memberikan peluang untuk peningkatan tingkat tinggi.

Saat menggunakan banner adaptif, perhatikan bahwa banner tersebut akan selalu menampilkan yang konstan untuk perangkat dan lebar tertentu. Setelah Anda menguji tata letak pada perangkat tertentu, Anda dapat yakin bahwa ukuran iklan tidak akan berubah. Namun, ukuran materi iklan banner dapat berubah di berbagai perangkat. Oleh karena itu, sebaiknya tata letak Anda mengakomodasi variasi tinggi iklan. Dalam kasus yang jarang terjadi, ukuran adaptif penuh mungkin tidak terisi dan materi iklan ukuran standar akan di tengah slot ini.

Prasyarat

Kapan harus menggunakan banner adaptif

Banner adaptif didesain sebagai pengganti langsung untuk kedua industri ukuran banner standar 320x50 dan format banner cerdas yang akan digantikan.

Ukuran banner ini biasanya digunakan sebagai banner anchor, yang biasanya terkunci di bagian atas atau bawah layar.

Untuk banner anchor tersebut, rasio aspek saat menggunakan banner adaptif akan menjadi mirip dengan iklan standar berukuran 320x50, seperti yang dapat dilihat di tiga contoh di bawah ini:


Banner 320x50

Banner adaptif

Banner cerdas

Banner adaptif memanfaatkan ukuran layar yang tersedia dengan lebih baik. Selain itu, dibandingkan dengan banner cerdas, banner adaptif adalah pilihan yang lebih baik karena:

  • Diagram ini menggunakan lebar apa pun yang Anda berikan, bukan memaksa lebar menjadi penuh yang memungkinkan Anda memperhitungkan area aman di iOS, dan menampilkan potongan di Android.

  • Fitur ini memilih ketinggian optimal untuk perangkat tertentu, alih-alih memiliki tinggi konstan di seluruh perangkat dengan ukuran yang berbeda, mengurangi efek dari fragmentasi perangkat.

Catatan penerapan

Saat menerapkan banner adaptif di aplikasi, perhatikan hal-hal berikut:

  • Anda harus mengetahui lebar tampilan tempat iklan akan ditempatkan, dan ini harus memperhitungkan lebar perangkat dan area aman atau potongan yang berlaku.
  • Pastikan latar belakang tampilan iklan Anda buram agar sesuai dengan Kebijakan AdMob ketika ukuran iklan yang lebih kecil ditayangkan tidak mengisi slot iklan.
  • Pastikan Anda menggunakan Google Mobile Ads Unity versi terbaru plugin. Untuk mediasi, gunakan versi terbaru dari setiap adaptor mediasi.
  • Ukuran banner adaptif dirancang agar berfungsi dengan sangat baik saat menggunakan banner lebar yang tersedia. Dalam kebanyakan kasus, ini akan selebar penuh layar perangkat yang digunakan. Pastikan untuk mempertimbangkan area aman yang berlaku.
  • Google Mobile Ads SDK akan menyesuaikan ukuran banner dengan tinggi iklan yang dioptimalkan untuk lebar tertentu saat menggunakan AdSize API adaptif.
  • Ada tiga metode guna mendapatkan ukuran iklan untuk adaptif: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth untuk lanskap, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth untuk potret, dan AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth untuk orientasi saat ini pada saat eksekusi.
  • Ukuran yang dikembalikan untuk lebar tertentu pada perangkat tertentu akan selalu berupa hal yang sama, maka setelah menguji tata letak pada perangkat tertentu, Anda bisa memastikan bahwa ukuran iklan tidak akan berubah.
  • Tinggi banner anchor tidak pernah lebih besar dari kurang dari 15% tinggi banner tinggi perangkat atau 90 piksel kepadatan mandiri dan tidak pernah lebih kecil dari 50 piksel kepadatan mandiri.
  • Untuk banner lebar penuh, Anda dapat menggunakan flag AdSize.FullWidth, bukan memberikan lebar tertentu.

Panduan memulai

Ikuti langkah-langkah di bawah untuk menerapkan banner anchor adaptif sederhana.

  1. Dapatkan ukuran iklan banner adaptif. Ukuran yang Anda dapatkan akan digunakan untuk meminta banner adaptif. Untuk mendapatkan ukuran iklan adaptif, pastikan Anda:
    1. Dapatkan lebar perangkat yang digunakan dalam piksel kepadatan mandiri, atau setel lebar Anda sendiri jika Anda tidak ingin menggunakan lebar penuh layar. Karena Unity API seperti Screen.width menampilkan piksel absolut, Anda harus dibagi dengan skala perangkat (dapat diambil dari MobileAds.Utils.GetDeviceScale()).
    2. Gunakan tanda AdSize.FullWidth untuk banner lebar penuh.
    3. Gunakan metode statis yang sesuai pada kelas ukuran iklan, seperti AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) guna mendapatkan objek AdSize adaptif untuk orientasi saat ini.
  2. Buat objek BannerView dengan ID unit iklan, ukuran adaptif, dan posisi yang relevan untuk iklan.
  3. Buat objek permintaan iklan dan muat banner menggunakan metode LoadAd() di tampilan iklan yang telah disiapkan, seperti yang Anda lakukan dengan permintaan banner normal.

Contoh kode

Berikut adalah contoh skrip yang memuat dan memuat ulang banner adaptif agar sesuai dengan lebar layar, dengan mempertimbangkan area aman:

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
}

Di sini, fungsi AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth digunakan untuk mendapatkan ukuran banner di posisi anchor untuk antarmuka saat ini orientasi. Untuk melakukan pramuat banner anchor dalam orientasi tertentu, gunakan fungsi yang relevan dari AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth dan AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth.