Iklan banner

Iklan banner adalah iklan teks atau gambar persegi panjang yang menempati suatu tempat di layar. Iklan banner tetap muncul di layar saat pengguna berinteraksi dengan aplikasi, dan iklan dapat dimuat ulang secara otomatis setelah jangka waktu tertentu. Jika periklanan seluler merupakan hal yang baru bagi Anda, iklan Banner adalah pilihan pertama yang baik. Studi kasus.

Panduan ini menunjukkan cara mengintegrasikan iklan banner dari AdMob ke aplikasi Unity. Selain cuplikan kode dan petunjuk, panduan ini juga mencakup informasi tentang menetapkan ukuran banner dengan tepat dan menautkan ke referensi tambahan.

Prasyarat

Selesaikan Mulai. Aplikasi Unity Anda seharusnya sudah mengimpor plugin Unity Google Mobile Ads.

Membuat BannerView

Langkah pertama untuk menampilkan banner adalah membuat objek BannerView dalam skrip C# yang dilampirkan ke GameObject.

Untuk integrasi iklan yang lebih mudah menggunakan Unity Editor, coba Penempatan Iklan Beta yang baru.

using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;
    ...
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize(initStatus => { });

        this.RequestBanner();
    }

    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
    }
}

Konstruktor untuk BannerView memiliki parameter berikut:

  • adUnitId - ID unit iklan AdMob tempat BannerView harus memuat iklan.
  • AdSize - Ukuran iklan AdMob yang ingin Anda gunakan (lihat Ukuran banner untuk mengetahui detailnya).
  • AdPosition - Posisi tempat iklan banner harus ditempatkan. Enum AdPosition mencantumkan nilai posisi iklan yang valid.

Penting untuk diperhatikan bahwa penggunaan berbagai unit iklan, bergantung pada platformnya. Anda perlu menggunakan unit iklan iOS untuk membuat permintaan iklan di iOS dan unit iklan Android untuk membuat permintaan di Android.

(Opsional) Posisi iklan kustom

Untuk kontrol yang lebih besar atas penempatan BannerView di layar daripada yang ditawarkan oleh nilai AdPosition, gunakan konstruktor BannerView yang memiliki koordinat x dan y sebagai parameter:

// Create a 320x50 banner ad at coordinate (0,50) on screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, 0, 50);

Sudut kiri atas BannerView akan diposisikan pada nilai x dan y yang diteruskan ke konstruktor, dengan asal di sebelah kiri atas layar.

(Opsional) Ukuran iklan kustom

Selain menggunakan konstanta AdSize, Anda juga dapat menentukan ukuran khusus iklan:

AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(adUnitId, adSize, AdPosition.Bottom);

Selalu uji iklan uji coba

Kode contoh di atas berisi ID unit iklan dan Anda bebas untuk meminta iklan dengan ID unit iklan tersebut. Ini telah dikonfigurasi secara khusus untuk menampilkan iklan pengujian, bukan iklan produksi untuk setiap permintaan, yang membuatnya aman untuk digunakan.

Namun, setelah mendaftarkan aplikasi di UI AdMob dan membuat ID unit iklan sendiri untuk digunakan di aplikasi, Anda harus mengonfigurasi perangkat secara eksplisit sebagai perangkat pengujian saat melakukan pengembangan. Hal ini sangat penting. Pengujian dengan iklan sungguhan (meskipun Anda tidak pernah menggunakannya) melanggar kebijakan AdMob dan dapat menyebabkan akun Anda ditangguhkan. Baca Iklan Uji Coba untuk informasi tentang cara memastikan Anda selalu mendapatkan iklan uji coba saat mengembangkan.

Memuat iklan

Setelah instance BannerView dibuat, langkah selanjutnya adalah memuat iklan. Itu dilakukan dengan metode loadAd() di class BannerView. Dibutuhkan argumen AdRequest, yang menyimpan informasi runtime (seperti info penargetan) tentang satu permintaan iklan.

Berikut contoh yang menunjukkan cara memuat iklan:

...
    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }
...

Selesai. Aplikasi Anda kini siap menampilkan iklan banner dari AdMob.

Peristiwa iklan

Untuk menyesuaikan perilaku iklan lebih lanjut, Anda dapat terhubung ke sejumlah peristiwa dalam siklus proses iklan: memuat, membuka, menutup, dan sebagainya. Proses peristiwa ini dengan mendaftarkan delegasi untuk EventHandler yang sesuai, seperti yang ditunjukkan di bawah.

...
using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;

    public void Start()
    {
        this.RequestBanner();
    }

    private void RequestBanner()
    {

        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Called when an ad request has successfully loaded.
        this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;
        // Called when an ad request failed to load.
        this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad;
        // Called when an ad is clicked.
        this.bannerView.OnAdOpening += this.HandleOnAdOpened;
        // Called when the user returned from the app after an ad click.
        this.bannerView.OnAdClosed += this.HandleOnAdClosed;
        // Called when the ad click caused the user to leave the application.
        this.bannerView.OnAdLeavingApplication += this.HandleOnAdLeavingApplication;

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }

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

    public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                            + args.Message);
    }

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

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

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

Peristiwa OnAdFailedToLoad berisi argumen peristiwa khusus. Ini akan meneruskan instance HandleAdFailedToLoadEventArgs dengan Message yang menjelaskan error:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
  MonoBehaviour.print("Banner failed to load: " + args.Message);
  // Handle the ad failed to load event.
};
Peristiwa iklanDeskripsi
OnAdLoaded Peristiwa OnAdLoaded dijalankan saat iklan selesai dimuat.
OnAdFailedToLoad Peristiwa OnAdFailedToLoad dipanggil saat iklan gagal dimuat. Parameter Message menjelaskan jenis kegagalan yang terjadi.
OnAdOpening Metode ini dipanggil ketika pengguna mengetuk iklan. Jika Anda menggunakan paket analisis untuk melacak klik-tayang, ini adalah tempat yang tepat untuk mencatatnya.
OnAdClosed Saat pengguna kembali ke aplikasi setelah melihat URL tujuan iklan, metode ini akan dipanggil. Aplikasi Anda dapat menggunakannya untuk melanjutkan aktivitas yang ditangguhkan atau melakukan pekerjaan lain yang diperlukan agar siap untuk berinteraksi.
OnAdLeavingApplication Metode ini dipanggil setelah onAdOpened, saat pengguna mengklik membuka aplikasi lain (seperti Google Play Store) di latar belakang aplikasi saat ini.

Tabel berikut mencantumkan ukuran banner standar.

Ukuran dalam dp (LxT) Deskripsi Ketersediaan Konstanta AdSize
320x50 Spanduk Standar Ponsel dan Tablet BANNER
320x100 Banner Besar Ponsel dan Tablet LARGE_BANNER
300x250 Kotak Sedang IAB Ponsel dan Tablet MEDIUM_RECTANGLE
468x60 Banner Ukuran Penuh IAB Tablet FULL_BANNER
728x90 Papan Peringkat IAB Tablet LEADERBOARD
Lebar yang disediakan x Tinggi adaptif Banner adaptif Ponsel dan Tablet T/A
Lebar layar x 32|50|90 Banner cerdas Ponsel dan Tablet SMART_BANNER
Pelajari Banner Adaptif lebih lanjut, yang dimaksudkan untuk menggantikan Banner Cerdas.

Bersihkan iklan banner

Setelah menyelesaikan BannerView, pastikan untuk memanggil metode Destroy() sebelum memberikan referensinya:

bannerView.Destroy();

Hal ini memberi tahu plugin bahwa objek tersebut tidak lagi digunakan dan memori yang digunakan dapat diklaim kembali. Kegagalan dalam memanggil metode ini akan menyebabkan kebocoran memori.

Referensi tambahan

Contoh

Kisah sukses