Menetapkan fitur native lanjutan

Pilih platform: Android Baru Android iOS

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

  • Mengintegrasikan format iklan Native.

Kontrol aset

Bagian ini menjelaskan cara menyesuaikan aset materi iklan di iklan native Anda. Anda memiliki opsi untuk menentukan rasio aspek pilihan untuk aset media dan cara aset gambar didownload dan ditampilkan.

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 dapat meningkatkan pengalaman pengguna dengan menentukan jenis rasio aspek pilihan.

Contoh berikut menginstruksikan SDK untuk memilih gambar atau video yang ditampilkan dengan rasio aspek tertentu.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Ganti AD_UNIT_ID dengan ID unit iklan Anda.

Kontrol download gambar

Kontrol download gambar memungkinkan Anda memutuskan apakah aset gambar atau hanya URI yang ditampilkan oleh SDK.

Panggil NativeAdOptions.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 sebenarnya sesuai keinginan Anda.

Contoh berikut menginstruksikan SDK untuk hanya menampilkan URI.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID")
        .withNativeAdOptions(nativeAdOptions)
        .forNativeAd(
            nativeAd -> {
              List<Uri> imageUris = new ArrayList<>();
              for (Image image : nativeAd.getImages()) {
                imageUris.add(image.getUri());
              }
            })
        .build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build()

val loader =
  AdLoader.Builder(context, "AD_UNIT_ID")
    .withNativeAdOptions(nativeAdOptions)
    .forNativeAd { nativeAd ->
      val imageUris = nativeAd.images.mapNotNull { it.uri }
    }
    .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.

Panggil NativeAdOptions.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 serangkaian gambar.

  • Jika diaktifkan, aplikasi Anda menunjukkan bahwa aplikasi tersebut siap menampilkan semua gambar untuk aset apa pun yang memiliki lebih dari satu gambar.

Contoh berikut menginstruksikan SDK untuk menampilkan beberapa aset gambar.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setRequestMultipleImages(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setRequestMultipleImages(true).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Penempatan AdChoices

Bagian ini menjelaskan cara memposisikan overlay AdChoices. Anda memiliki opsi untuk menetapkan penempatannya ke salah satu dari empat sudut atau merendernya dalam tampilan kustom.

Kontrol posisi AdChoices

Kontrol posisi AdChoices memungkinkan Anda memilih sudut tempat ikon AdChoices akan dirender.

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.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Tampilan kustom AdChoices

Fitur tampilan kustom AdChoices memungkinkan Anda memposisikan ikon AdChoices di lokasi kustom. Hal ini berbeda dengan kontrol posisi AdChoices, yang hanya memungkinkan spesifikasi salah satu dari empat sudut.

Panggil NativeAdView.setAdChoicesView() dengan nilai AdChoicesView.

Contoh berikut menunjukkan cara menetapkan tampilan AdChoices kustom, dengan ikon AdChoices dirender di dalam AdChoicesView.

Java

NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);

Kotlin

val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView

Kontrol video

Bagian ini menjelaskan cara menyesuaikan pengalaman pemutaran untuk iklan video. Anda memiliki opsi untuk menetapkan status bisu awal dan menerapkan kontrol pemutaran kustom.

Perilaku bisu awal

Perilaku bisu awal memungkinkan Anda menonaktifkan atau mengaktifkan audio awal video.

Panggil VideoOptions.Builder.setStartMuted() dengan nilai boolean.

  • Perilaku bisu awal 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.

Java

VideoOptions videoOptions = new VideoOptions.Builder().setStartMuted(false).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setStartMuted(false).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Kontrol pemutaran kustom

Hal ini memungkinkan Anda meminta kontrol input video kustom untuk memutar, menjeda, atau membisukan video.

Panggil VideoOptions.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 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.

Java

VideoOptions videoOptions = new VideoOptions.Builder().setCustomControlsRequested(true).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setCustomControlsRequested(true).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).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

MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
  VideoController videoController = mediaContent.getVideoController();
  boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}

Kotlin

val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
  val videoController = mediaContent.videoController
  val canShowCustomControls = videoController.isCustomControlsEnabled
}

Merender kontrol video kustom

Render kontrol video kustom menggunakan praktik terbaik berikut:

  1. Render tampilan kontrol kustom sebagai turunan dari tampilan iklan native. Pendekatan ini memungkinkan perhitungan visibilitas pengukuran terbuka mempertimbangkan kontrol kustom sebagai penghalang yang tidak mengganggu.
  2. 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 memuat kontrol.