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 waktu jeda antarlevel dalam game. Saat aplikasi menampilkan iklan interstisial, pengguna memiliki pilihan 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
- Selesaikan Panduan memulai.
Selalu uji dengan iklan percobaan
Kode contoh berikut berisi ID unit iklan yang dapat Anda gunakan untuk meminta iklan percobaan. Iklan ini telah dikonfigurasi secara khusus untuk menampilkan iklan pengujian, bukan iklan produksi untuk setiap permintaan, sehingga aman digunakan.
Namun, setelah mendaftarkan aplikasi di antarmuka web AdMob dan membuat ID unit iklan Anda sendiri untuk digunakan di aplikasi, konfigurasi perangkat Anda sebagai perangkat pengujian secara eksplisit selama pengembangan.
Android
ca-app-pub-3940256099942544/1033173712
iOS
ca-app-pub-3940256099942544/4411468910
Melakukan inisialisasi Mobile Ads SDK
Sebelum memuat iklan, aplikasi harus melakukan inisialisasi Mobile Ads SDK dengan memanggil
MobileAds.Initialize()
. Tindakan ini hanya perlu dilakukan sekali, idealnya saat aplikasi diluncurkan.
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-langkah utama untuk mengintegrasikan iklan interstisial adalah:
- Memuat iklan interstisial
- Menampilkan iklan interstisial
- Memproses peristiwa iklan interstisial
- Membersihkan iklan interstisial
- Melakukan pramuat iklan interstisial berikutnya
Memuat iklan interstisial
Pemuatan iklan interstisial dilakukan menggunakan metode Load()
statis pada
class InterstitialAd
. Metode pemuatan memerlukan ID unit iklan, objek AdRequest
, dan pengendali penyelesaian yang dipanggil saat 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();
// 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;
});
}
Menampilkan iklan interstisial
Untuk menampilkan iklan interstisial yang dimuat, panggil metode Show()
pada
instance InterstitialAd
. Iklan dapat ditampilkan sekali per
muat. Gunakan metode CanShowAd()
untuk memverifikasi bahwa iklan siap ditampilkan.
/// <summary>
/// Shows the interstitial ad.
/// </summary>
public void ShowInterstitialAd()
{
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 menghubungkan ke sejumlah peristiwa dalam siklus proses iklan. Proses peristiwa ini dengan mendaftarkan delegasi seperti yang ditunjukkan di bawah.
private void RegisterEventHandlers(InterstitialAd interstitialAd)
{
// Raised when the ad is estimated to have earned money.
interstitialAd.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.
interstitialAd.OnAdImpressionRecorded += () =>
{
Debug.Log("Interstitial ad recorded an impression.");
};
// Raised when a click is recorded for an ad.
interstitialAd.OnAdClicked += () =>
{
Debug.Log("Interstitial ad was clicked.");
};
// Raised when an ad opened full screen content.
interstitialAd.OnAdFullScreenContentOpened += () =>
{
Debug.Log("Interstitial ad full screen content opened.");
};
// Raised when the ad closed full screen content.
interstitialAd.OnAdFullScreenContentClosed += () =>
{
Debug.Log("Interstitial ad full screen content closed.");
};
// Raised when the ad failed to open full screen content.
interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
{
Debug.LogError("Interstitial ad failed to open full screen content " +
"with error : " + error);
};
}
Membersihkan iklan interstisial
Setelah selesai dengan InterstitialAd
, pastikan
untuk memanggil metode Destroy()
sebelum menghapus referensi ke metode tersebut:
_interstitialAd.Destroy();
Tindakan ini akan memberi tahu plugin bahwa objek tidak lagi digunakan dan memori yang digunakannya dapat diklaim kembali. Kegagalan untuk memanggil metode ini akan menyebabkan kebocoran memori.
Melakukan pramuat iklan interstisial berikutnya
Iklan interstisial adalah objek yang hanya digunakan satu kali. Artinya, setelah iklan interstisial
ditampilkan, objek tidak dapat digunakan lagi. Untuk meminta iklan interstisial lain,
buat objek InterstitialAd
baru.
Untuk menyiapkan iklan interstisial untuk peluang tayangan iklan berikutnya, pramuat
iklan interstisial setelah peristiwa iklan OnAdFullScreenContentClosed
atau
OnAdFullScreenContentFailed
dimunculkan.
private void RegisterReloadHandler(InterstitialAd interstitialAd)
{
// Raised when the ad closed full screen content.
interstitialAd.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.
interstitialAd.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();
};
}
Praktik terbaik
- Tentukan apakah iklan interstisial adalah jenis iklan yang tepat untuk aplikasi Anda.
- Iklan interstisial berfungsi paling baik di aplikasi dengan titik transisi alami. Akhir tugas dalam aplikasi, seperti membagikan gambar atau menyelesaikan level game, akan menghasilkan titik tersebut. Pastikan Anda mempertimbangkan titik mana dalam alur aplikasi untuk menampilkan iklan interstisial dengan cara terbaik dan bagaimana pengguna cenderung meresponsnya.
- Jeda tindakan saat menampilkan iklan interstisial.
- Ada beberapa jenis iklan interstisial yang berbeda seperti teks,
gambar, atau video. 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 output audio apa pun yang dihasilkan oleh aplikasi Anda.
Anda dapat melanjutkan pemutaran suara dalam peristiwa
OnAdFullScreenContentClosed()
, yang dapat dipanggil saat pengguna selesai berinteraksi dengan iklan. Selain itu, pertimbangkan untuk menghentikan sementara tugas komputasi berat apa pun, seperti loop game, saat iklan ditampilkan. Hal ini memastikan bahwa pengguna tidak mengalami grafik yang lambat atau tidak responsif atau video yang terputus-putus. - 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 terganggu sehingga mereka tidak lagi dapat menikmati penggunaan aplikasi Anda.
Referensi lainnya
- Contoh HelloWorld: Implementasi minimal dari semua format iklan.