Iklan native memiliki banyak fitur lanjutan yang memungkinkan Anda melakukan penyesuaian tambahan dan memberikan pengalaman iklan terbaik. Panduan ini menunjukkan cara menggunakan fitur lanjutan iklan native.
Prasyarat
- Integrasikan Format iklan native.
Kontrol aset
Kontrol rasio aspek media pilihan
Kontrol Rasio Aspek Media memungkinkan Anda menentukan preferensi untuk rasio aspek materi iklan.
Panggil NativeAdOptions.Builder.setMediaAspectRatio()
dengan nilai
NativeAdOptions.MediaAspectRatio
.
Jika tidak ditetapkan, iklan yang ditampilkan dapat memiliki rasio aspek media apa pun.
Jika ditetapkan, Anda akan dapat meningkatkan pengalaman pengguna dengan menentukan jenis rasio aspek yang diinginkan.
Contoh berikut menginstruksikan SDK untuk memilih gambar atau video yang ditampilkan dengan rasio aspek tertentu.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
Kontrol download gambar
Kontrol download gambar memungkinkan Anda memutuskan apakah aset gambar atau hanya URI yang ditampilkan oleh SDK.
PanggilNativeAdOptions.Builder.setReturnUrlsForImageAssets()
dengan nilai boolean
.
Kontrol download gambar dinonaktifkan secara default.
Jika dinonaktifkan, Google Mobile Ads SDK akan mengisi gambar dan URI untuk Anda.
Jika diaktifkan, SDK hanya akan mengisi URI, sehingga Anda dapat mendownload gambar yang sebenarnya sesuai kebijaksanaan Anda.
Contoh berikut menginstruksikan SDK untuk hanya menampilkan URI.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setReturnUrlsForImageAssets(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.forNativeAd(nativeAd -> {
List<Uri> imageUris = new ArrayList<>();
for (Image image : nativeAd.getImages()) {
imageUris.add(image.getUri());
}
})
.build();
Kontrol payload gambar
Beberapa iklan memiliki serangkaian gambar, bukan hanya satu. Gunakan fitur ini untuk menunjukkan apakah aplikasi Anda siap menampilkan semua gambar atau hanya satu.
PanggilNativeAdOptions.Builder.setRequestMultipleImages()
dengan nilai boolean
.
Kontrol payload gambar dinonaktifkan secara default.
Jika dinonaktifkan, aplikasi Anda akan menginstruksikan SDK untuk hanya menyediakan gambar pertama untuk aset apa pun yang berisi serial.
Jika diaktifkan, aplikasi Anda akan menunjukkan bahwa aplikasi siap menampilkan semua gambar untuk aset yang memiliki lebih dari satu.
Contoh berikut menginstruksikan SDK untuk menampilkan beberapa aset gambar.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setRequestMultipleImages(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
Penempatan AdChoices
Kontrol posisi AdChoices
Kontrol posisi AdChoices memungkinkan Anda memilih sudut untuk merender ikon AdChoices.
Panggil NativeAdOptions.Builder.setAdChoicesPlacement()
dengan nilai
NativeAdOption.AdChoicesPlacement
.
Jika tidak ditetapkan, posisi ikon AdChoices akan ditetapkan ke kanan atas.
Jika ditetapkan, AdChoices akan ditempatkan di posisi kustom seperti yang diminta.
Contoh berikut menunjukkan cara menetapkan posisi gambar AdChoices kustom.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
Tampilan kustom AdChoices
Fitur tampilan kustom AdChoices memungkinkan Anda memosisikan ikon AdChoices di lokasi kustom. Hal ini berbeda dengan kontrol posisi AdChoices, yang hanya memungkinkan spesifikasi salah satu dari empat sudut.
PanggilNativeAdView.setAdChoicesView()
dengan nilai
AdChoicesView
.
Contoh berikut menunjukkan cara menetapkan tampilan AdChoices kustom, dengan
ikon AdChoices dirender di dalam AdChoicesView
.
public void onNativeAdLoaded(NativeAd ad) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
Kontrol video
Memulai perilaku bisukan
Perilaku mulai dibisukan memungkinkan Anda menonaktifkan atau mengaktifkan audio awal video.
PanggilVideoOptions.Builder.setStartMuted()
dengan nilai boolean
.
Perilaku mulai dibisukan diaktifkan secara default.
Jika dinonaktifkan, aplikasi Anda akan meminta video dimulai dengan audio.
Jika diaktifkan, aplikasi Anda akan meminta video dimulai dengan audio dibisukan.
Contoh berikut menunjukkan cara memulai video dengan audio yang tidak dibisukan.
VideoOptions videoOptions = new VideoOptions.Builder()
.setStartMuted(false)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
Kontrol pemutaran kustom
Hal ini memungkinkan Anda meminta kontrol input video kustom untuk memutar, menjeda, atau membisukan video.
PanggilVideoOptions.Builder.setCustomControlsRequested()
dengan nilai boolean
.
Kontrol pemutaran kustom dinonaktifkan secara default.
Jika dinonaktifkan, video Anda akan menampilkan kontrol input yang dirender SDK.
- Jika iklan memiliki konten video dan kontrol kustom diaktifkan, Anda harus
menampilkan kontrol kustom bersama dengan iklan, karena iklan tidak akan menampilkan
kontrol apa pun. Kontrol kemudian dapat memanggil metode yang relevan di
VideoController
.
Contoh berikut menunjukkan cara meminta video dengan kontrol pemutaran kustom.
VideoOptions videoOptions = new VideoOptions.Builder()
.setCustomControlsRequested(true)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
Memeriksa apakah kontrol kustom diaktifkan
Karena tidak diketahui pada waktu permintaan apakah iklan yang ditampilkan akan mengizinkan kontrol video kustom, Anda harus memeriksa apakah iklan tersebut mengaktifkan kontrol kustom.
Java
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
Kotlin
NativeAd.OnNativeAdLoadedListener { ad ->
val mediaContent = ad.mediaContent
if (mediaContent != null) {
val videoController = mediaContent.videoController
val canShowCustomControls = videoController.isCustomControlsEnabled
}
}
Merender kontrol video kustom
Render kontrol video kustom menggunakan praktik terbaik berikut:
- Render tampilan kontrol kustom sebagai turunan dari tampilan iklan native. Pendekatan ini memastikan bahwa penghitungan visibilitas pengukuran terbuka menganggap kontrol kustom sebagai halangan yang tidak mengganggu.
- Hindari merender overlay yang tidak terlihat di seluruh tampilan media. Overlay memblokir klik pada tampilan media, sehingga berdampak negatif pada performa iklan native. Sebagai gantinya, buat overlay kecil yang cukup besar untuk menyesuaikan kontrol.
Gestur klik kustom
Gestur klik kustom adalah fitur iklan native yang memungkinkan geser pada tampilan iklan didaftarkan sebagai klik iklan. Fitur ini dirancang untuk berfungsi dengan aplikasi yang menggunakan gestur geser untuk navigasi konten. Panduan ini menunjukkan cara mengaktifkan gestur klik kustom di iklan native Anda.
Panggil NativeAdOptions.Builder.enableCustomClickGestureDirection()
dengan NativeAdOptions.SwipeGestureDirection
dan boolean
untuk menunjukkan apakah Anda ingin ketukan diizinkan sebagai klik.
Gestur klik kustom dinonaktifkan secara default.
Jika dinonaktifkan, aplikasi Anda akan mendukung perilaku klik normal.
Jika diaktifkan, aplikasi Anda akan mendukung gestur geser kustom.
Contoh berikut menerapkan gestur geser kustom ke kanan dan mempertahankan perilaku tab normal.
NativeAdOptions adOptions = new NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
/* tapsAllowed= */ true)
.build();
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions);
Memproses peristiwa gestur geser
Saat klik gestur geser dicatat, Google Mobile Ads SDK akan memanggil
metode onAdSwipeGestureClicked()
di AdListener
, selain metode
onAdClicked()
yang ada.
AdLoader adLoader = builder
.withAdListener(
new AdListener() {
// Called when a swipe gesture click is recorded.
@Override
public void onAdSwipeGestureClicked() {
Log.d(TAG, "A swipe gesture click has occurred.")
}
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
@Override
public void onAdClicked() {
Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
}
})
.build();
Mediasi
Gestur klik kustom hanya berfungsi pada iklan native yang dirender Google Mobile Ads SDK. Sumber iklan yang memerlukan SDK pihak ketiga untuk rendering, tidak merespons setelan arah klik kustom.