Iklan native adalah aset iklan yang disajikan kepada pengguna melalui komponen UI yang merupakan bawaan platform. Mereka ditampilkan menggunakan jenis tampilan yang sama dengan yang sudah Anda bangun, dan dapat diformat agar sesuai dengan desain visual aplikasi Anda.
Saat iklan native dimuat, aplikasi akan menerima objek iklan yang berisi asetnya, dan aplikasi—bukan Google Mobile Ads SDK—kemudian bertanggung jawab untuk menampilkannya.
Secara garis besar, ada dua bagian agar iklan native berhasil diterapkan: 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 Iklan Native kami Playbook.
Anda juga dapat melihat beberapa kisah sukses pelanggan: studi kasus 1, studi kasus 2.
Prasyarat
- Selesaikan Panduan memulai.
Selalu uji dengan iklan percobaan
Saat membuat dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi secara 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
URL ini telah dikonfigurasi secara khusus guna menampilkan iklan percobaan untuk setiap permintaan, dan Anda dapat menggunakannya di aplikasi Anda sendiri saat melakukan coding, pengujian, dan proses debug. Pastikan bahwa Anda ganti dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.
Untuk informasi selengkapnya tentang cara kerja iklan percobaan Google Mobile Ads SDK, lihat Iklan percobaan.
Muat iklan
Iklan Native dimuat dengan
Class AdLoader
,
yang memiliki
Builder
untuk menyesuaikannya selama pembuatan. Dengan menambahkan pemroses ke AdLoader
saat membuatnya, aplikasi menentukan jenis iklan native yang siap
terima. AdLoader
kemudian hanya meminta jenis tersebut.
Membuat AdLoader
Kode berikut menunjukkan cara membuat AdLoader
yang dapat memuat native
iklan:
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()
Tujuan
forNativeAd()
bertanggung jawab menyiapkan AdLoader
untuk format NativeAd
.
Saat iklan berhasil dimuat, onNativeAdLoaded()
objek pemroses
dipanggil.
Menyiapkan AdListener dengan AdLoader (opsional)
Saat membuat AdLoader
, metode
withAdListener
fungsi menyetel
AdListener
untuk
dengan fungsi loader biasa. Metode ini menggunakan AdListener
sebagai parameter tunggalnya, 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
, kini saatnya menggunakannya untuk meminta iklan.
Ada dua metode yang tersedia untuk ini: 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 memerlukan
AdRequest
sebagai parameter pertamanya. Ini sama saja
Kelas AdRequest
yang digunakan oleh banner dan interstisial,
dan Anda dapat menggunakan metode class AdRequest
untuk
menambahkan informasi penargetan, sama seperti
dibandingkan dengan
format iklan lainnya.
Muat beberapa iklan (opsional)
Metode loadAds()
menggunakan parameter tambahan: jumlah iklan yang disertakan SDK
harus mencoba memuat permintaan tersebut. Angka ini dibatasi
hingga lima, dan
tidak dijamin bahwa SDK akan menampilkan jumlah persis iklan yang diminta.
Semua iklan Google yang ditampilkan akan berbeda satu sama lain, meskipun iklan dari inventaris yang direservasi atau pembeli pihak ketiga tidak dijamin unik.
Jangan gunakan metode loadAds()
jika Anda menggunakan mediasi, sebagai permintaan untuk
Saat ini, beberapa iklan native tidak berfungsi untuk ID unit iklan.
dikonfigurasikan untuk mediasi.
Callback
Setelah panggilan ke loadAd()
, satu callback dilakukan ke callback yang telah ditentukan sebelumnya
metode pemroses untuk menayangkan objek iklan native atau melaporkan error.
Setelah panggilan ke loadAds()
, beberapa callback tersebut akan dibuat (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()
dalam
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().build(), 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().build(), 3)
Melepaskan fasilitas
Pastikan untuk menggunakan metode destroy()
pada iklan native yang dimuat. Rilis ini
sumber daya yang terpakai dan
mencegah kebocoran memori.
Pastikan semua referensi NativeAd
dihancurkan dalam metode
Metode onDestroy()
.
Dalam callback onNativeAdLoaded
, pastikan untuk menghancurkan iklan native
yang ada dan akan didereferensikan.
Pemeriksaan kunci lainnya adalah apakah aktivitas dihancurkan dan jika demikian, panggil destroy()
di
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 ini saat memuat iklan.
Aplikasi yang menggunakan iklan native dalam daftar harus melakukan pra-cache daftar iklan.
Saat melakukan pra-cache iklan, hapus cache Anda, lalu muat ulang setelah satu jam.
Jangan memanggil
loadAd()
atauloadAds()
padaAdLoader
hingga yang pertama selesai dimuat.
Akselerasi hardware untuk iklan video
Agar iklan video berhasil ditampilkan dalam tampilan iklan native, perangkat keras akselerasi harus diaktifkan.
Akselerasi perangkat keras diaktifkan secara default, tetapi beberapa aplikasi mungkin memilih untuk melakukannya. menonaktifkannya. Jika ini berlaku untuk aplikasi Anda, sebaiknya aktifkan hardware akselerasi untuk kelas 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 individual. Untuk mengaktifkan atau
nonaktifkan akselerasi hardware, gunakan atribut android:hardwareAccelerated
untuk
<application>
dan
<activity>
elemen di AndroidManifest.xml
. Contoh berikut mengaktifkan hardware
akselerasi untuk seluruh aplikasi, tetapi
menonaktifkannya untuk satu aktivitas:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
Lihat akselerasi HW panduan untuk informasi lebih lanjut tentang opsi untuk mengontrol akselerasi perangkat keras. Catatan penayangan iklan tunggal tersebut tidak dapat diaktifkan untuk akselerasi hardware jika Aktivitas dinonaktifkan, sehingga Aktivitas harus memiliki akselerasi hardware mengaktifkan pembuatan versi.
Tampilkan iklan Anda
Setelah memuat iklan, yang tersisa hanyalah menampilkannya kepada pengguna. Buka halaman Native Advanced untuk melihat caranya.