Iklan interstisial adalah iklan layar penuh yang menutupi antarmuka aplikasi host iklan. 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 dapat 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
Selesaikan Mulai. Aplikasi Unity Anda seharusnya sudah mengimpor plugin Unity Google Mobile Ads.
Membuat iklan interstisial
Langkah pertama untuk menampilkan interstisial adalah membuat objek InterstitialAd
dalam skrip yang dilampirkan ke GameObject
.
Untuk integrasi iklan yang lebih mudah menggunakan Unity Editor, coba Penempatan Iklan Beta yang baru.
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 tempatInterstitialAd
harus memuat iklan.
Penting untuk diperhatikan bagaimana unit iklan yang berbeda digunakan, bergantung pada platformnya. Anda perlu menggunakan unit iklan iOS untuk membuat permintaan iklan di iOS dan unit iklan Android untuk membuat permintaan di Android.
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 dikembangkan. Hal ini sangat penting. Pengujian dengan iklan sungguhan (meskipun Anda tidak pernah menggunakannya) melanggar kebijakan AdMob dan dapat menyebabkan akun Anda ditangguhkan. Lihat Iklan Uji Coba untuk mengetahui informasi tentang cara memastikan Anda selalu mendapatkan iklan uji coba saat melakukan pengembangan.
Memuat iklan
Setelah instance InterstitialAd
dibuat, langkah selanjutnya adalah memuat iklan.
Itu dilakukan dengan metode loadAd()
di class InterstitialAd
. Dibutuhkan
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 harus ditampilkan selama jeda alami dalam alur aplikasi.
Di antara level game adalah contoh yang bagus, atau setelah pengguna menyelesaikan tugas.
Untuk menampilkan interstisial, gunakan metode isLoaded()
untuk memverifikasi bahwa pemuatan sudah selesai, lalu panggil show()
.
Iklan interstisial dari contoh kode sebelumnya dapat ditampilkan di akhir game, seperti yang ditunjukkan di bawah.
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. 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 iklan | Deskripsi |
---|---|
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 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 menjeda output audio atau game loop, ini adalah tempat yang tepat untuk melanjutkannya. |
Bersihkan iklan interstisial
Setelah menyelesaikan InterstitialAd
, pastikan untuk memanggil metode Destroy()
sebelum memberikan referensinya:
interstitial.Destroy();
Hal ini memberi tahu plugin bahwa objek tersebut tidak lagi digunakan dan memori yang menempatinya dapat diklaim kembali. Kegagalan dalam memanggil metode ini akan menyebabkan 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 natural. 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 Anda mempertimbangkan titik mana dalam alur kerja aplikasi Anda yang akan menampilkan iklan interstisial dan bagaimana pengguna akan merespons.
- Jangan lupa untuk menjeda tindakan saat menampilkan iklan interstisial.
- Ada beberapa jenis iklan interstisial yang berbeda: teks, gambar, video, dan lainnya. Penting untuk memastikan bahwa saat aplikasi Anda menampilkan iklan interstisial, iklan juga menangguhkan penggunaan beberapa resource untuk memungkinkan iklan memanfaatkannya. Misalnya, saat melakukan panggilan untuk menampilkan
iklan interstisial, pastikan untuk menjeda setiap output audio yang dihasilkan oleh aplikasi Anda.
Anda dapat melanjutkan memutar 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 ditampilkan. Hal ini akan memastikan pengguna tidak mengalami grafik yang lambat atau tidak responsif atau video yang tersendat. - Tunggu hingga waktu pemuatan yang memadai.
- Sama penting untuk memastikan Anda menampilkan iklan interstisial pada waktu yang tepat, penting juga untuk memastikan pengguna tidak harus menunggu iklan dimuat. Memuat iklan terlebih dahulu dengan memanggil
loadAd()
sebelum Anda ingin memanggilshow()
dapat memastikan bahwa aplikasi Anda memiliki iklan interstisial yang dimuat sepenuhnya saat siap menampilkan iklan interstisial. - Jangan membanjiri pengguna dengan iklan.
- Meskipun meningkatkan frekuensi iklan interstisial di aplikasi Anda mungkin terlihat seperti cara yang bagus untuk meningkatkan pendapatan, hal ini juga dapat menurunkan pengalaman pengguna dan menurunkan rasio klik-tayang. Pastikan pengguna tidak terlalu sering mengganggu sehingga mereka tidak lagi dapat menikmati penggunaan aplikasi Anda.
Referensi tambahan
Contoh
- Contoh HelloWorld ⋮ penerapan minimal dari semua format iklan