Iklan interstisial adalah iklan layar penuh yang menutupi antarmuka aplikasi host mereka. Iklan ini biasanya ditampilkan di titik transisi alami dalam alur aplikasi, seperti selama jeda di antara level dalam game. Saat aplikasi menampilkan iklan interstisial, pengguna memiliki pilihan untuk mengetuk iklan lalu melanjutkan ke tujuan atau menutupnya dan kembali ke aplikasi. Studi kasus.
Panduan ini menjelaskan cara mengintegrasikan iklan interstisial ke dalam aplikasi Unity.
Prasyarat
- Selesaikan Panduan memulai.
Selalu uji dengan iklan percobaan
Kode contoh di bawah berisi ID unit iklan yang dapat digunakan untuk meminta iklan pengujian. Ini telah dikonfigurasi secara khusus untuk menampilkan iklan pengujian, bukan iklan produksi, untuk setiap permintaan, sehingga aman untuk digunakan.
Namun, setelah mendaftarkan aplikasi di UI AdMob dan membuat ID unit iklan Anda sendiri untuk digunakan di aplikasi, Anda harus mengonfigurasi perangkat sebagai perangkat pengujian secara eksplisit selama pengembangan.
Android
ca-app-pub-3940256099942544/1033173712
iOS
ca-app-pub-3940256099942544/4411468910
Menginisialisasi Mobile Ads SDK
Sebelum memuat iklan, minta aplikasi Anda menginisialisasi Mobile Ads SDK dengan memanggil MobileAds.Initialize()
. Hal ini hanya perlu dilakukan sekali, idealnya saat peluncuran aplikasi.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Jika Anda menggunakan mediasi, tunggu hingga callback terjadi sebelum memuat iklan karena hal ini akan memastikan bahwa semua adaptor mediasi diinisialisasi.
Penerapan
Langkah utama untuk mengintegrasikan iklan interstisial adalah:
- Memuat iklan interstisial
- Tampilkan iklan interstisial
- Memproses peristiwa iklan interstisial
- Bersihkan iklan interstisial
- Pramuat iklan interstisial berikutnya
Memuat iklan interstisial
Memuat iklan interstisial diselesaikan menggunakan metode Load()
statis di
class InterstitialAd
. Metode pemuatan memerlukan ID unit iklan, objek AdRequest
, dan pengendali penyelesaian yang dipanggil ketika pemuatan iklan berhasil atau gagal. Objek InterstitialAd
yang dimuat disediakan sebagai parameter di pengendali penyelesaian. Contoh di bawah ini menunjukkan cara memuat
InterstitialAd
.
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
private string _adUnitId = "unused";
#endif
private InterstitialAd interstitialAd;
/// <summary>
/// Loads the interstitial ad.
/// </summary>
public void LoadInterstitialAd()
{
// Clean up the old ad before loading a new one.
if (interstitialAd != null)
{
interstitialAd.Destroy();
interstitialAd = null;
}
Debug.Log("Loading the interstitial ad.");
// create our request used to load the ad.
var adRequest = new AdRequest();
adRequest.Keywords.Add("unity-admob-sample");
// send the request to load the ad.
InterstitialAd.Load(_adUnitId, adRequest,
(InterstitialAd ad, LoadAdError error) =>
{
// if error is not null, the load request failed.
if (error != null || ad == null)
{
Debug.LogError("interstitial ad failed to load an ad " +
"with error : " + error);
return;
}
Debug.Log("Interstitial ad loaded with response : "
+ ad.GetResponseInfo());
interstitialAd = ad;
});
}
Tampilkan iklan interstisial
Untuk menampilkan iklan interstisial yang dimuat, panggil metode Show()
pada instance InterstitialAd
. Iklan dapat ditampilkan satu kali per pemuatan. Gunakan metode CanShowAd()
untuk memverifikasi bahwa iklan siap ditampilkan.
/// <summary>
/// Shows the interstitial ad.
/// </summary>
public void ShowAd()
{
if (interstitialAd != null && interstitialAd.CanShowAd())
{
Debug.Log("Showing interstitial ad.");
interstitialAd.Show();
}
else
{
Debug.LogError("Interstitial ad is not ready yet.");
}
}
Memproses peristiwa iklan interstisial
Untuk menyesuaikan perilaku iklan lebih lanjut, Anda dapat mengaitkan ke sejumlah peristiwa dalam siklus proses iklan: membuka, menutup, dan sebagainya. Proses peristiwa ini dengan mendaftarkan delegasi seperti yang ditunjukkan di bawah.
private void RegisterEventHandlers(InterstitialAd ad)
{
// Raised when the ad is estimated to have earned money.
ad.OnAdPaid += (AdValue adValue) =>
{
Debug.Log(String.Format("Interstitial ad paid {0} {1}.",
adValue.Value,
adValue.CurrencyCode));
};
// Raised when an impression is recorded for an ad.
ad.OnAdImpressionRecorded += () =>
{
Debug.Log("Interstitial ad recorded an impression.");
};
// Raised when a click is recorded for an ad.
ad.OnAdClicked += () =>
{
Debug.Log("Interstitial ad was clicked.");
};
// Raised when an ad opened full screen content.
ad.OnAdFullScreenContentOpened += () =>
{
Debug.Log("Interstitial ad full screen content opened.");
};
// Raised when the ad closed full screen content.
ad.OnAdFullScreenContentClosed += () =>
{
Debug.Log("Interstitial ad full screen content closed.");
};
// Raised when the ad failed to open full screen content.
ad.OnAdFullScreenContentFailed += (AdError error) =>
{
Debug.LogError("Interstitial ad failed to open full screen content " +
"with error : " + error);
};
}
Bersihkan iklan interstisial
Setelah selesai dengan InterstitialAd
, pastikan untuk memanggil metode Destroy()
sebelum memberikan referensinya:
interstitialAd.Destroy();
Cara ini akan memberi tahu plugin bahwa objek tersebut tidak lagi digunakan dan memori yang ditempatkannya dapat diklaim kembali. Kegagalan untuk memanggil metode ini akan menyebabkan kebocoran memori.
Pramuat iklan interstisial berikutnya
Iklan interstisial adalah objek yang sekali digunakan. Artinya, setelah iklan interstisial
ditampilkan, objek tidak dapat digunakan lagi. Untuk meminta iklan interstisial lain, Anda harus membuat objek InterstitialAd
baru.
Guna menyiapkan iklan interstisial untuk peluang tayangan berikutnya, lakukan pramuat
iklan interstisial setelah peristiwa iklan OnAdFullScreenContentClosed
atau
OnAdFullScreenContentFailed
dipicu.
private void RegisterReloadHandler(InterstitialAd ad)
{
// Raised when the ad closed full screen content.
ad.OnAdFullScreenContentClosed += ()
{
Debug.Log("Interstitial Ad full screen content closed.");
// Reload the ad so that we can show another as soon as possible.
LoadInterstitialAd();
};
// Raised when the ad failed to open full screen content.
ad.OnAdFullScreenContentFailed += (AdError error) =>
{
Debug.LogError("Interstitial ad failed to open full screen content " +
"with error : " + error);
// Reload the ad so that we can show another as soon as possible.
LoadInterstitialAd();
};
}
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. Penyelesaian tugas dalam aplikasi, seperti berbagi gambar atau menyelesaikan level game, akan menghasilkan titik tersebut. Karena pengguna mengharapkan jeda dalam tindakan, iklan interstisial mudah ditampilkan tanpa mengganggu pengalaman mereka. Pastikan untuk mempertimbangkan titik mana dalam alur kerja aplikasi Anda yang 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 untuk memungkinkan
iklan memanfaatkannya. Misalnya, saat Anda melakukan panggilan untuk menampilkan
iklan interstisial, pastikan untuk menjeda setiap output audio yang dihasilkan oleh aplikasi Anda.
Anda dapat melanjutkan pemutaran suara dalam peristiwa
OnAdFullScreenContentClosed()
, 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 untuk memastikan bahwa pengguna tidak akan melihat grafis yang lambat atau tidak responsif, atau video yang tersendat-sendat. - Jangan penuhi pengguna dengan iklan.
- Meskipun frekuensi iklan interstisial di aplikasi Anda tampak seperti cara yang bagus untuk meningkatkan pendapatan, pengalaman pengguna dan rasio klik-tayang juga bisa lebih rendah. Pastikan pengguna tidak terlalu sering terganggu sehingga mereka tidak dapat lagi menikmati penggunaan aplikasi Anda.
Referensi lainnya
Contoh
- Contoh HelloWorld: Implementasi minimal semua format iklan.