Iklan native adalah aset iklan yang ditampilkan kepada pengguna melalui komponen UI yang merupakan bagian asli dari platform. Elemen 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 (beta)—yang bertanggung jawab untuk menampilkannya.
Secara umum, ada dua bagian yang menentukan keberhasilan penerapan 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.
Contoh tersedia untuk Java dan Kotlin.Anda juga dapat melihat beberapa kisah sukses pelanggan: studi kasus 1, studi kasus 2.
Prasyarat
- Selesaikan Panduan memulai.
- Google Mobile Ads SDK (beta) 0.6.0-alpha01 atau yang lebih tinggi.
Selalu melakukan pengujian dengan iklan percobaan
Saat membangun dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi langsung. Jika Anda tidak melakukannya, akun Anda dapat ditangguhkan.
Cara termudah untuk memuat iklan percobaan adalah dengan menggunakan ID unit iklan percobaan khusus kami untuk iklan native:
Format Iklan | Contoh ID unit iklan |
---|---|
Native | ca-app-pub-3940256099942544/2247696110 |
Video Native | ca-app-pub-3940256099942544/1044960115 |
Memuat iklan
Untuk memuat iklan native, panggil metode NativeAdLoader.load()
, yang menggunakan NativeAdRequest
dan NativeAdLoaderCallback
.
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest
class NativeFragment : Fragment() {
private var nativeAd: NativeAd? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadAd()
}
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, adCallback)
}
companion object {
// Sample native ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/2247696110"
}
}
Menetapkan callback peristiwa iklan native
Saat menangani onNativeAdLoaded
, tetapkan NativeAd
yang diterima dengan
NativeAdEventCallback
untuk menentukan fungsi guna menerima peristiwa siklus proses iklan native:
nativeAd.adEventCallback =
object : NativeAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Native ad showed full screen content.
}
override fun onAdDismissedFullScreenContent() {
// Native ad dismissed full screen content.
}
override fun onAdFailedToShowFullScreenContent {
// Native ad failed to show full screen content.
}
override fun onAdImpression() {
// Native ad recorded an impression.
}
override fun onAdClicked() {
// Native ad recorded a click.
}
}
Opsional: Muat beberapa iklan
Untuk memuat beberapa iklan, panggil load()
dengan parameter numberOfAds
opsional.
Nilai maksimum yang dapat Anda tetapkan adalah 5
, yang mewakili jumlah iklan.
Google Mobile Ads SDK (beta) mungkin tidak menampilkan jumlah iklan yang tepat seperti yang Anda minta.
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
override fun onAdLoadingCompleted() {
// Called when all native ads have loaded.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, 3, adCallback)
}
Iklan yang ditampilkan oleh Google Mobile Ads SDK (beta) bersifat unik, meskipun iklan dari inventaris yang dicadangkan atau pembeli pihak ketiga mungkin tidak unik.
Jika Anda menggunakan mediasi, jangan panggil metode load()
. Permintaan untuk beberapa iklan native tidak berfungsi untuk ID unit iklan yang dikonfigurasi untuk mediasi.
Praktik terbaik
Ikuti aturan berikut saat memuat iklan.
Aplikasi yang menggunakan iklan native dalam daftar harus menyimpan daftar iklan ke dalam cache terlebih dahulu (pra-cache).
Saat melakukan pra-cache iklan, hapus cache dan muat ulang setelah satu jam.
Batasi menyimpan iklan native ke dalam cache hanya sesuai keperluan. Misalnya, saat melakukan pra-cache, hanya simpan iklan yang langsung terlihat di layar ke cache. Iklan native memiliki jejak memori yang besar, dan menyimpan iklan native ke 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">
<!-- 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 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 Anda memuat iklan, langkah terakhir adalah menampilkannya kepada pengguna. Buka panduan Native Advanced kami untuk melihat caranya.
Contoh
Download dan jalankan aplikasi contoh yang menunjukkan penggunaan Google Mobile Ads SDK (beta).