Banner adaptif anchor

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

Untuk memilih ukuran iklan terbaik, banner adaptif menggunakan rasio lebar tinggi tetap, bukan tinggi tetap. Dengan begitu, iklan banner yang dihasilkan akan menempati bagian layar yang lebih konsisten di seluruh perangkat dan memberikan peluang untuk meningkatkan performa.

Saat menggunakan banner adaptif, perhatikan bahwa banner tersebut akan selalu menampilkan ukuran konstanta untuk perangkat dan lebar tertentu. Setelah menguji tata letak di perangkat tertentu, Anda dapat memastikan bahwa ukuran iklan tidak akan berubah. Namun, ukuran materi iklan banner dapat berubah di berbagai perangkat. Oleh karena itu, sebaiknya tata letak Anda mengakomodasi varians dalam tinggi iklan. Pada kasus yang jarang terjadi, ukuran adaptif penuh mungkin tidak terisi dan materi iklan dengan ukuran standar akan dipusatkan di slot ini.

Prasyarat

Kapan banner adaptif digunakan

Banner adaptif dirancang sebagai pengganti drop-in untuk ukuran banner 320x50 standar industri dan format banner cerdas yang digantikannya.

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

Untuk banner anchor semacam ini, rasio lebar tinggi saat menggunakan banner adaptif akan mirip dengan iklan 320x50 standar, seperti yang dapat dilihat pada 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 merupakan pilihan yang lebih baik karena:

  • Parameter ini menggunakan lebar yang Anda berikan, bukan memaksakan lebar ke layar penuh, sehingga Anda dapat memperhitungkan area aman di iOS, dan potongan layar di Android.

  • Hal ini memilih tinggi yang optimal untuk perangkat tertentu, bukan memiliki tinggi yang konstan di berbagai perangkat ukuran, yang mengurangi efek fragmen perangkat.

Catatan penerapan

Saat menerapkan banner adaptif di aplikasi Anda, 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 iklan Anda buram agar sesuai dengan kebijakan AdMob saat ukuran iklan yang lebih kecil ditayangkan yang tidak mengisi slot iklan.
  • Pastikan Anda menggunakan plugin Google Mobile Ads Unity versi terbaru. Untuk mediasi, gunakan versi terbaru setiap adaptor mediasi.
  • Ukuran banner adaptif dirancang untuk berfungsi optimal saat menggunakan lebar penuh yang tersedia. Pada umumnya, ini adalah lebar penuh layar perangkat yang sedang digunakan. Pastikan untuk mempertimbangkan area aman yang berlaku.
  • Google Mobile Ads SDK akan menyesuaikan ukuran banner dengan tinggi iklan yang dioptimalkan untuk lebar yang ditentukan saat menggunakan AdSize API adaptif.
  • Ada tiga metode untuk mendapatkan ukuran iklan adaptif: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth untuk lanskap, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth untuk potret, dan AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth untuk orientasi saat ini pada saat eksekusi.
  • Ukuran yang ditampilkan untuk lebar tertentu pada perangkat tertentu akan selalu sama, sehingga setelah Anda menguji tata letak di perangkat tertentu, Anda dapat memastikan bahwa ukuran iklan tidak akan berubah.
  • Tinggi banner anchor tidak pernah lebih besar dari 15% tinggi perangkat atau 90 piksel independen kepadatan dan tidak pernah lebih kecil dari 50 piksel independen kepadatan.
  • Untuk banner lebar penuh, Anda dapat menggunakan flag AdSize.FullWidth, bukan menyediakan 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 perlu membaginya menurut skala perangkat (dapat diambil dari MobileAds.Utils.GetDeviceScale()).
    2. Gunakan tanda AdSize.FullWidth untuk banner lebar penuh.
    3. Gunakan metode statis yang sesuai pada class ukuran iklan, seperti AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) untuk mendapatkan objek AdSize adaptif untuk orientasi saat ini.
  2. Buat objek BannerView dengan ID unit iklan Anda, ukuran adaptif, dan posisi yang relevan untuk iklan Anda.
  3. Buat objek permintaan iklan dan muat banner menggunakan metode LoadAd() pada tampilan iklan yang telah disiapkan, seperti yang Anda lakukan dengan permintaan banner biasa.

Contoh kode

Berikut 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 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
}

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