Iklan interstisial (Lama)

Iklan interstisial adalah iklan layar penuh yang menutupi antarmuka aplikasi host-nya. Iklan ini biasanya ditampilkan pada titik transisi alami dalam alur aplikasi, seperti selama jeda antarlevel dalam game. Saat aplikasi menampilkan iklan interstisial, pengguna dapat memilih untuk mengetuk iklan dan melanjutkan ke tujuannya atau menutupnya dan kembali ke aplikasi. Studi kasus.

Panduan ini menjelaskan cara mengintegrasikan iklan interstisial ke dalam aplikasi Unity.

Prasyarat

Membuat iklan interstisial

Langkah pertama untuk menampilkan interstisial adalah dengan membuat objek InterstitialAd dalam skrip yang dilampirkan ke GameObject.

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

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

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

Konstruktor untuk InterstitialAd memiliki parameter berikut:

  • adUnitId - ID unit iklan AdMob tempat InterstitialAd harus memuat iklan.

Penting untuk diperhatikan bagaimana berbagai unit iklan digunakan, bergantung pada platformnya. Anda harus menggunakan unit iklan iOS untuk membuat permintaan iklan di iOS dan unit iklan Android untuk membuat permintaan di Android.

Selalu uji dengan iklan percobaan

Kode contoh di atas berisi ID unit iklan dan Anda bebas meminta iklan dengan ID tersebut. Fungsi ini telah dikonfigurasi secara khusus untuk menampilkan iklan percobaan, bukan iklan produksi untuk setiap permintaan, sehingga aman digunakan.

Namun, setelah mendaftarkan aplikasi di UI AdMob dan membuat ID unit iklan sendiri untuk digunakan di aplikasi, Anda harus mengonfigurasi perangkat sebagai perangkat pengujian secara eksplisit saat melakukan pengembangan. Ini sangat penting. Pengujian dengan iklan sungguhan (meskipun Anda tidak pernah mengetuknya) bertentangan dengan kebijakan AdMob dan dapat menyebabkan akun Anda ditangguhkan. Lihat Iklan Percobaan untuk mengetahui informasi tentang cara memastikan Anda selalu mendapatkan iklan percobaan saat melakukan pengembangan.

Memuat iklan

Setelah instance InterstitialAd dibuat, langkah berikutnya adalah memuat iklan. Hal tersebut dilakukan dengan metode loadAd() di class InterstitialAd. Fungsi ini membutuhkan argumen AdRequest, yang menyimpan informasi runtime (seperti info penargetan) tentang satu permintaan iklan.

Berikut contoh yang menunjukkan cara memuat iklan:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

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

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

Menampilkan iklan

Iklan interstisial sebaiknya ditampilkan selama jeda alami dalam alur aplikasi. Antara level dalam game adalah contoh yang baik, atau setelah pengguna menyelesaikan tugas. Untuk menampilkan interstisial, gunakan metode isLoaded() untuk memverifikasi bahwa interstisial telah selesai dimuat, lalu panggil show().

Iklan interstisial dari contoh kode sebelumnya dapat ditampilkan di akhir game, seperti yang ditunjukkan di bawah ini.

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

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 GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

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

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.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 HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

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

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

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial 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 saat iklan ditampilkan, yang menutupi layar perangkat.
OnAdClosed Metode ini dipanggil ketika iklan interstisial ditutup karena pengguna mengetuk ikon tutup atau menggunakan tombol kembali. Jika aplikasi Anda menjeda output audio atau game loop-nya, opsi ini adalah opsi yang tepat untuk melanjutkannya.

Bersihkan iklan interstisial

Setelah selesai dengan InterstitialAd, pastikan untuk memanggil metode Destroy() sebelum Anda memberikan referensi ke metode tersebut:

interstitial.Destroy();

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

Beberapa praktik terbaik

Pertimbangkan apakah iklan interstisial adalah jenis iklan yang tepat untuk aplikasi Anda.
Iklan interstisial berfungsi paling baik di aplikasi dengan titik transisi alami. Titik akhir suatu tugas dalam aplikasi, seperti membagikan gambar atau menyelesaikan level game, akan menghasilkan titik tersebut. Karena pengguna mengharapkan jeda dalam tindakan, Anda dapat dengan mudah menayangkan iklan interstisial tanpa mengganggu pengalaman mereka. Pastikan Anda mempertimbangkan pada titik mana dalam alur kerja aplikasi Anda akan menampilkan iklan interstisial dan kemungkinan respons pengguna.
Jangan lupa untuk menjeda tindakan saat menampilkan iklan interstisial.
Ada sejumlah jenis iklan interstisial: teks, gambar, video, dan lainnya. Penting untuk memastikan bahwa saat aplikasi Anda menampilkan iklan interstisial, aplikasi juga menangguhkan penggunaan beberapa resource agar iklan dapat memanfaatkannya. Misalnya, saat Anda melakukan panggilan untuk menampilkan iklan interstisial, pastikan untuk menjeda output audio apa pun yang dihasilkan oleh aplikasi Anda. Anda dapat melanjutkan pemutaran suara di pengendali peristiwa onAdClosed(), yang akan dipanggil saat pengguna selesai berinteraksi dengan iklan. Selain itu, pertimbangkan untuk menghentikan sementara tugas komputasi yang intens (seperti game loop) saat iklan sedang ditampilkan. Hal ini akan memastikan pengguna tidak mengalami grafis yang lambat atau tidak responsif, atau video yang tersendat.
Berikan waktu pemuatan yang cukup.
Selain memastikan Anda menampilkan iklan interstisial pada waktu yang tepat, penting juga untuk memastikan pengguna tidak perlu menunggu iklan tersebut dimuat. Memuat iklan terlebih dahulu dengan memanggil loadAd() sebelum Anda ingin memanggil show() dapat memastikan bahwa aplikasi Anda memiliki iklan interstisial yang dimuat sepenuhnya saat tiba waktunya untuk menampilkannya.
Jangan membanjiri pengguna dengan iklan.
Meskipun meningkatkan frekuensi iklan interstisial di aplikasi Anda mungkin tampak seperti cara yang bagus untuk meningkatkan pendapatan, hal ini juga dapat menurunkan pengalaman pengguna dan menurunkan rasio klik-tayang (CTR). Pastikan pengguna tidak terlalu sering terganggu sehingga mereka tidak dapat lagi menikmati penggunaan aplikasi Anda.

Referensi tambahan

Contoh

Kisah sukses