Iklan di layar pembuka aplikasi adalah format iklan yang ditujukan bagi penayang yang ingin memonetisasi layar pemuatan aplikasi mereka. Pengguna dapat menutup iklan di layar pembuka aplikasi kapan saja. Saat pengguna menampilkan aplikasi Anda ke latar depan, tampilkan iklan di layar pembuka aplikasi.
Untuk mengetahui informasi selengkapnya, lihat Panduan iklan di layar pembuka aplikasi.Panduan ini menjelaskan cara mengintegrasikan iklan di layar pembuka aplikasi ke dalam aplikasi Android.
Sebelum memulai
Sebelum melanjutkan, lakukan hal berikut:
- Siapkan GMA Next-Gen SDK.
- Gunakan ID unit iklan di layar pembuka aplikasi percobaan
/21775744923/example/app-open.- Saat membangun dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi langsung. Jika Anda tidak menggunakan ID unit iklan percobaan, Google dapat menangguhkan akun Anda.
- Sebelum memublikasikan aplikasi, ganti ID ini dengan ID unit iklan Anda.
- Untuk mengetahui detail iklan percobaan GMA Next-Gen SDK, lihat Mengaktifkan iklan percobaan.
Memahami pramuat iklan (beta)
Pramuat iklan (beta) di GMA Next-Gen SDK mengotomatiskan pemuatan dan caching iklan.
Pramuat iklan memberikan manfaat berikut:
- Pengelolaan referensi: mempertahankan referensi hingga iklan ditampilkan.
- Pemuatan ulang otomatis: memuat iklan baru saat iklan diambil dari cache.
- Percobaan ulang yang dikelola: memuat iklan baru saat iklan gagal dimuat.
- Penanganan masa berlaku: memperbarui iklan sebelum masa berlakunya berakhir.
- Pengoptimalan cache: mengoptimalkan urutan cache untuk menayangkan iklan prioritas tertinggi.
Memulai pramuat iklan
Untuk mulai memuat iklan, panggil metode start sekali saat aplikasi dimulai. Setelah Anda memanggil metode start,
GMA Next-Gen SDK akan otomatis memuat iklan dan mencoba ulang permintaan yang gagal untuk
konfigurasi yang dimuat.
Contoh berikut menunjukkan cara memulai pramuat iklan:
Kotlin
Java
Ganti AD_UNIT_ID dengan ID unit iklan Anda.
Contoh sebelumnya menunjukkan cara menggunakan ID unit iklan sebagai ID pramuat. ID pramuat adalah ID string yang Anda buat untuk mengidentifikasi konfigurasi pramuat iklan. Jika aplikasi Anda memerlukan beberapa konfigurasi penargetan untuk ID unit iklan yang sama, teruskan ID string kustom.
Mendapatkan dan menampilkan iklan yang dimuat
Jika Anda ingin menampilkan iklan, panggil metode pollAd.
GMA Next-Gen SDK mengambil iklan yang tersedia dan otomatis memuat iklan berikutnya
di latar belakang. Jika tidak ada iklan yang tersedia, GMA Next-Gen SDK tidak akan menampilkan iklan.
show untuk menampilkan iklan.
Contoh berikut menunjukkan cara mengambil dan menampilkan iklan yang dimuat:
Kotlin
Java
Hingga Anda siap menampilkan iklan, hindari memanggil metode pollAd. Untuk membaca info respons iklan tanpa menampilkannya,
lihat Membaca info respons.
Memproses peristiwa iklan
Sebelum menampilkan iklan, proses peristiwa iklan. Contoh berikut mendaftarkan callback untuk peristiwa iklan:
Kotlin
private fun listenToAdEvents() { // Listen for ad events. val ad = appOpenAd if (ad == null) { Log.e(TAG, "App open ad is not ready yet.") return } ad.adEventCallback = object : AppOpenAdEventCallback { override fun onAdShowedFullScreenContent() { // App open ad did show. } override fun onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // App open ad did record an impression. } override fun onAdClicked() { // App open ad did record a click. } } }
Java
private void listenToAdEvents() { // Listen for ad events. if (appOpenAd == null) { Log.e(TAG, "App open ad is not ready yet."); return; } appOpenAd.setAdEventCallback( new AppOpenAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // App open ad did show. } @Override public void onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // App open ad did record an impression. } @Override public void onAdClicked() { // App open ad did record a click. } }); }
Opsional: Memproses peristiwa pramuat
Saat Anda mulai memuat iklan, daftarkan peristiwa pramuat untuk mendapatkan notifikasi saat iklan berhasil dimuat, gagal dimuat, atau cache iklan habis.
Contoh berikut menunjukkan cara mendaftarkan peristiwa iklan pramuat:
Kotlin
val preloadCallback = object : PreloadCallback { override fun onAdFailedToPreload(preloadId: String, adError: LoadAdError) { Log.d(TAG, "App open preload ad $preloadId failed to load with error: ${adError.message}") } override fun onAdsExhausted(preloadId: String) { Log.i(TAG, "App open preload ad $preloadId is not available") } override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo) { Log.i(TAG, "App open preload ad $preloadId is available") } } val adRequest = AdRequest.Builder(adUnitId).build() val preloadConfig = PreloadConfiguration(adRequest) AppOpenAdPreloader.start(adUnitId, preloadConfig, preloadCallback)
Java
PreloadCallback preloadCallback = new PreloadCallback() { @Override public void onAdFailedToPreload(@NonNull String preloadId, @NonNull LoadAdError adError) { Log.d( TAG, String.format( "App open preload ad %s failed to load with error: %s", preloadId, adError.getMessage())); } @Override public void onAdsExhausted(@NonNull String preloadId) { Log.i(TAG, String.format("App open preload ad %s is not available", preloadId)); } @Override public void onAdPreloaded(@NonNull String preloadId, @NonNull ResponseInfo responseInfo) { Log.i(TAG, String.format("App open preload ad %s is available", preloadId)); } }; AdRequest adRequest = new AdRequest.Builder(adUnitId).build(); PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest); AppOpenAdPreloader.start(adUnitId, preloadConfig, preloadCallback);
Saat iklan gagal dimuat, GMA Next-Gen SDK akan otomatis memuat iklan dan mencoba ulang permintaan yang gagal untuk konfigurasi yang dimuat.
Opsional: Memeriksa ketersediaan iklan
Jika Anda perlu mengetahui apakah iklan tersedia, periksa ketersediaan iklan. Contoh berikut memeriksa apakah iklan yang dimuat tersedia:
Kotlin
private fun isAdAvailable(adUnitId: String): Boolean { return AppOpenAdPreloader.isAdAvailable(adUnitId) }
Java
private boolean isAdAvailable(String adUnitId) { return AppOpenAdPreloader.isAdAvailable(adUnitId); }
Opsional: Menetapkan ukuran buffer
Ukuran buffer mengontrol jumlah iklan yang dimuat dan disimpan dalam memori. Secara default, Google mengoptimalkan ukuran buffer untuk menyeimbangkan konsumsi memori dan latensi penayangan iklan. Anda dapat menetapkan ukuran buffer kustom untuk meningkatkan jumlah iklan yang disimpan dalam memori. Sebaiknya gunakan ukuran buffer dua iklan yang dimuat.
Contoh berikut menunjukkan cara menetapkan ukuran buffer:
Kotlin
val adRequest = AdRequest.Builder(adUnitId).build() // Define a PreloadConfiguration and set the buffer size to 2 preloaded ads. val preloadConfig = PreloadConfiguration(adRequest, bufferSize = 2) AppOpenAdPreloader.start(adUnitId, preloadConfig)
Java
AdRequest adRequest = new AdRequest.Builder(adUnitId).build(); // Define a PreloadConfiguration and set the buffer size to 2 preloaded ads. PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest, 2); AppOpenAdPreloader.start(adUnitId, preloadConfig);
Batas cache pramuat
GMA Next-Gen SDK menerapkan batas di seluruh aplikasi pada jumlah total iklan yang dimuat di semua unit iklan dan ID pramuat:
- Batas default: Google menyimpan maksimum enam iklan yang dimuat dalam memori. Batas ini berlaku untuk semua format dan ID pramuat.
- Sebaiknya pertahankan ukuran buffer dua untuk setiap ID pramuat.
Opsional: Menghentikan pramuat iklan
Jika Anda tidak perlu menampilkan iklan untuk ID pramuat tertentu lagi dalam sesi, Anda dapat menghentikan pramuat iklan. Untuk menghentikan pemuatan iklan untuk ID pramuat tertentu, panggil metode destroy dengan ID pramuat. Memanggil metode destroy akan menghapus semua iklan yang dimuat dan terkait dengan ID pramuat dari cache.
Contoh berikut menunjukkan cara menghentikan pramuat iklan:
Kotlin
private fun stopPreloading(adUnitId: String) { // Stops the preloading and destroy preloaded ads. AppOpenAdPreloader.destroy(adUnitId) }
Java
private void stopPreloading(String adUnitId) { // Stops the preloading and destroy preloaded ads. AppOpenAdPreloader.destroy(adUnitId); }
Opsional: Membaca info respons
Baca info respons iklan yang dimuat berikutnya tanpa menghapus iklan dari cache.
Contoh berikut menunjukkan cara membaca info respons iklan yang dimuat berikutnya:
Kotlin
val responseInfo = AppOpenAdPreloader.peekAdResponseInfo(preloadId) if (responseInfo == null) { Log.e(TAG, "Failed to peek ad response info.") return } Log.d(TAG, "Peeked ad response ID: ${responseInfo.responseId}")
Java
ResponseInfo responseInfo = AppOpenAdPreloader.peekAdResponseInfo(preloadId); if (responseInfo == null) { Log.e(TAG, "Failed to peek ad response info."); return; } Log.d(TAG, "Peeked ad response ID: " + responseInfo.getResponseId());
Menangani cold start dan layar pemuatan
Cold start terjadi saat aplikasi Anda diluncurkan dari disk, dan warm start terjadi saat Anda membuka kembali aplikasi dari memori. Selama cold start, Anda tidak memiliki iklan yang dimuat untuk ditampilkan segera. Selama warm start, Anda mungkin masih memiliki iklan yang dimuat dan siap ditampilkan.
Selama cold start, pengguna mungkin berinteraksi dengan aplikasi Anda sebelum aplikasi dimuat dan menampilkan iklan. Untuk menghindari pengalaman pengguna yang buruk, tampilkan iklan di layar pembuka aplikasi saat cold start hanya dari layar pemuatan saat aset aplikasi dimuat. Jika pemuatan aset selesai dan pengguna mencapai konten utama sebelum iklan dimuat, jangan tampilkan iklan.
Rekomendasi
Ikuti rekomendasi berikut untuk iklan di layar pembuka aplikasi:
- Jangan tampilkan iklan di layar pembuka aplikasi pada awal aplikasi diluncurkan.
- Jika layar pemuatan selesai dimuat saat iklan ditampilkan, tutup layar pemuatan dalam metode callback iklan ditutup.
- Masa berlaku iklan di layar pembuka aplikasi berakhir empat jam setelah dimuat. Jangan tampilkan iklan di layar pembuka aplikasi yang telah dimuat selama lebih dari empat jam.