Iklan native adalah aset iklan yang ditampilkan kepada pengguna melalui komponen UI yang merupakan bagian asli dari platform. Komponen ini ditampilkan menggunakan jenis tampilan yang sama dengan yang sudah Anda gunakan untuk membuat tata letak, dan dapat diformat agar sesuai dengan desain visual aplikasi Anda.
Saat iklan native dimuat, aplikasi Anda akan menerima objek iklan yang berisi asetnya, dan aplikasi—bukan Google Mobile Ads SDK—kemudian bertanggung jawab untuk menampilkannya.
Secara umum, ada dua bagian untuk berhasil menerapkan iklan native: Memuat iklan menggunakan SDK, lalu menampilkan konten iklan di aplikasi Anda.
Halaman ini menunjukkan cara menggunakan SDK untuk memuat iklan native. Tips: Pelajari lebih lanjut iklan native di Playbook Iklan Native kami.
Anda juga dapat melihat beberapa kisah sukses pelanggan: studi kasus 1, studi kasus 2.
Prasyarat
- Selesaikan Panduan memulai.
Selalu lakukan pengujian dengan iklan percobaan
Saat membuat dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi langsung.
Cara termudah untuk memuat iklan percobaan adalah dengan menggunakan ID unit iklan percobaan khusus kami untuk iklan native di Android:
ca-app-pub-3940256099942544/2247696110
Unit iklan ini telah dikonfigurasi secara khusus untuk menampilkan iklan pengujian untuk setiap permintaan, dan Anda dapat menggunakannya di aplikasi Anda sendiri saat melakukan coding, pengujian, dan pen-debug-an. Pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.
Untuk mengetahui informasi selengkapnya tentang cara kerja iklan percobaan Google Mobile Ads SDK, lihat Iklan percobaan.
Memuat iklan
Iklan native dimuat dengan class
AdLoader
,
yang memiliki class
Builder
sendiri untuk menyesuaikannya selama pembuatan. Dengan menambahkan pemroses ke AdLoader
saat membangunnya, aplikasi menentukan jenis iklan native yang siap diterima. Kemudian, AdLoader
meminta hanya jenis tersebut.
Membangun AdLoader
Kode berikut menunjukkan cara membuat AdLoader
yang dapat memuat iklan native:
Java
AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
// Show the ad.
}
})
.withAdListener(new AdListener() {
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Handle the failure by logging, altering the UI, and so on.
}
})
.withNativeAdOptions(new NativeAdOptions.Builder()
// Methods in the NativeAdOptions.Builder class can be
// used here to specify individual options settings.
.build())
.build();
Kotlin
val adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110}")
.forNativeAd { ad : >NativeAd -
// Show the ad.
}
.withAdListener(object : AdListener() {
override fun onAdFailedToLoad(adError: LoadAdError) {
// Handle the failure.
}
})
.withNativeAdOptions(NativeAdOptions.Builder()
// Methods in the NativeAdOptions.Builder class can be
// used here to specify individual options settings.
.build())
.build()
Metode
forNativeAd()
bertanggung jawab untuk menyiapkan AdLoader
untuk format NativeAd
.
Saat iklan berhasil dimuat, metode onNativeAdLoaded()
objek pemroses peristiwa akan dipanggil.
Menyiapkan AdListener dengan AdLoader (opsional)
Saat membuat AdLoader
, fungsi
withAdListener
menetapkan
AdListener
untuk
pemuat. Metode ini menggunakan AdListener
sebagai satu-satunya parameter, yang menerima
callback dari AdLoader
saat peristiwa siklus proses iklan terjadi:
Java
.withAdListener(new AdListener() {
// AdListener callbacks can be overridden here.
})
Kotlin
.withAdListener(object : AdListener() {
// AdListener callbacks can be overridden here.
})
Permintaan iklan
Setelah selesai membuat AdLoader
, saatnya menggunakannya untuk meminta iklan.
Ada dua metode yang tersedia untuk melakukannya: loadAd()
dan loadAds()
.
loadAd()
Metode ini mengirim permintaan untuk satu iklan.
Java
adLoader.loadAd(new AdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdRequest.Builder().build())
loadAds()
Metode ini mengirim permintaan untuk beberapa iklan (hingga lima):
Java
adLoader.loadAds(new AdRequest.Builder().build(), 3);
Kotlin
adLoader.loadAds(AdRequest.Builder().build(), 3)
Kedua metode ini mengambil objek
AdRequest
sebagai parameter pertamanya. Ini adalah class
AdRequest
yang sama dengan yang digunakan oleh banner dan interstisial,
dan Anda dapat menggunakan metode class AdRequest
untuk
menambahkan informasi penargetan, seperti
yang Anda lakukan dengan format iklan lainnya.
Memuat beberapa iklan (opsional)
Metode loadAds()
mengambil parameter tambahan: jumlah iklan yang harus dicoba dimuat SDK untuk permintaan. Jumlah ini dibatasi hingga lima, dan tidak dijamin bahwa SDK akan menampilkan jumlah iklan yang tepat seperti yang diminta.
Semua iklan Google yang ditampilkan akan berbeda satu sama lain, meskipun iklan dari inventaris yang dicadangkan atau pembeli pihak ketiga tidak dijamin unik.
Jangan gunakan metode loadAds()
jika Anda menggunakan mediasi, karena permintaan untuk
beberapa iklan native saat ini tidak berfungsi untuk ID unit iklan yang telah
dikonfigurasi untuk mediasi.
Callback
Setelah panggilan ke loadAd()
, satu callback dilakukan ke
metode pendengar yang ditentukan sebelumnya untuk menayangkan objek iklan native atau melaporkan error.
Setelah panggilan ke loadAds()
, beberapa callback tersebut dilakukan (setidaknya satu,
dan tidak lebih dari jumlah iklan yang diminta). Aplikasi yang meminta beberapa iklan
harus memanggil AdLoader.isLoading()
dalam implementasi callback-nya untuk
menentukan apakah proses pemuatan telah selesai.
Berikut adalah contoh yang menunjukkan cara memeriksa isLoading()
di callback
onNativeAdLoaded()
:
Java
final AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
...
// some code that displays the ad.
...
if (adLoader.isLoading()) {
// The AdLoader is still loading ads.
// Expect more adLoaded or onAdFailedToLoad callbacks.
} else {
// The AdLoader has finished loading ads.
}
}
}).build();
adLoader.loadAds(new AdRequest.Builder().bui
ld(), 3);
Kotlin
lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd {
...
// some code that displays the ad.
...
if (adLoader.isLoading) {
// The AdLoader is still loading ads.
// Expect more adLoaded or onAdFailedToLoad callbacks.
} else {
// The AdLoader has finished loading ads.
}
}.build()
adLoader.loadAds(AdRequest.Builder().bu
ild(), 3)
Melepaskan resource
Pastikan untuk menggunakan metode destroy()
pada iklan native yang dimuat. Hal ini akan melepaskan
resource yang digunakan dan mencegah kebocoran memori.
Pastikan semua referensi NativeAd
dihapus dalam metode onDestroy()
aktivitas Anda.
Di panggilan balik onNativeAdLoaded
, pastikan untuk menghancurkan iklan native yang ada yang akan dibatalkan referensinya.
Pemeriksaan utama lainnya adalah apakah aktivitas dihancurkan dan jika ya, panggil destroy()
pada
iklan yang ditampilkan dan segera kembali:
Java
final AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
// If this callback occurs after the activity is destroyed, you
// must call destroy and return or you may get a memory leak.
// Note `isDestroyed()` is a method on Activity.
if (isDestroyed()) {
nativeAd.destroy();
return;
}
...
}
})
.build();
Kotlin
lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd { >nativeAd -
// If this callback occurs after the activity is destroyed, you
// must call destroy and return or you may get a memory leak.
// Note `isDestroyed` is a method on Activity.
if (isDestroyed) {
nativeAd.destroy()
return@forNativeAd
}
...
}.build()
Praktik terbaik
Ikuti aturan berikut saat memuat iklan.
Aplikasi yang menggunakan iklan native dalam daftar harus melakukan pra-cache daftar iklan.
Saat melakukan pra-penyimpanan dalam cache iklan, hapus cache dan muat ulang setelah satu jam.
- Jangan panggil
loadAd()
atauloadAds()
diAdLoader
hingga pemuatan permintaan pertama selesai.
Batasi penyimpanan cache iklan native hanya untuk yang diperlukan. Misalnya, saat melakukan pra-pengambilan, hanya cache iklan yang langsung terlihat di layar. Iklan native memiliki jejak memori yang besar, dan menyimpan iklan native dalam cache tanpa menghancurkannya akan menyebabkan penggunaan memori yang berlebihan.
Hancurkan iklan native jika tidak lagi digunakan.
Akselerasi hardware untuk iklan video
Agar iklan video berhasil ditampilkan di tampilan iklan native Anda, akselerasi hardware harus diaktifkan.
Akselerasi hardware diaktifkan secara default, tetapi beberapa aplikasi dapat memilih untuk menonaktifkannya. Jika hal ini berlaku untuk aplikasi Anda, sebaiknya aktifkan akselerasi hardware untuk class Aktivitas yang menggunakan iklan.
Mengaktifkan akselerasi hardware
Jika aplikasi Anda tidak berperilaku sebagaimana mestinya saat akselerasi hardware diaktifkan secara global, Anda juga dapat mengontrolnya untuk aktivitas tertentu. Untuk mengaktifkan atau menonaktifkan akselerasi hardware, gunakan atribut android:hardwareAccelerated
untuk elemen <application>
dan <activity>
di AndroidManifest.xml
Anda. Contoh berikut mengaktifkan akselerasi hardware untuk seluruh aplikasi, tetapi menonaktifkannya untuk satu aktivitas:
<application android:hardwareAccelerated=">true&<quot;
!-- For activities that use ads, hardwareAcceleration should b>e tru<e. --
activity android:hardwareAccelerate>d=&qu<ot;true" /
!-- For activities that don't use ads, hardwareAccel>erati<on can be false. --
activity android:hardw>a<reAccelerate>d
="false" /
/application
Lihat panduan akselerasi HW untuk mengetahui informasi selengkapnya tentang opsi untuk mengontrol akselerasi hardware. Perhatikan bahwa penayangan iklan individual tidak dapat diaktifkan untuk akselerasi hardware jika Aktivitas dinonaktifkan, sehingga Aktivitas itu sendiri harus mengaktifkan akselerasi hardware.
Menampilkan iklan Anda
Setelah memuat iklan, yang tersisa hanyalah menampilkannya kepada pengguna. Buka panduan Native Advanced kami untuk melihat caranya.