Opsi iklan native

Iklan native memiliki banyak fitur lanjutan yang memungkinkan Anda memberikan dan mendapatkan pengalaman iklan sebaik mungkin. Panduan ini menunjukkan cara menggunakan fitur lanjutan iklan native.

Prasyarat

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 NativeAdOptions.MediaAspectRatio dengan sejumlah nilai.

  • Jika tidak disetel, iklan yang ditampilkan dapat memiliki rasio aspek media apa pun.

  • Jika ditetapkan, Anda akan dapat meningkatkan pengalaman pengguna dengan menentukan jenis rasio aspek yang disukai.

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Kontrol download gambar

Kontrol download gambar memungkinkan Anda memutuskan apakah aset gambar atau hanya URI yang yang ditampilkan 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.

  • Saat 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, 'ca-app-pub-3940256099942544/2247696110')
                              .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 disiapkan untuk menampilkan semua gambar atau hanya satu gambar.

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 serial.

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

Contoh berikut menginstruksikan SDK untuk menampilkan beberapa aset gambar.

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Penempatan AdChoices

Kontrol posisi AdChoices

Kontrol posisi AdChoices memungkinkan Anda memilih sudut mana yang akan dirender Ikon AdChoices.

Panggil NativeAdOptions.Builder.setAdChoicesPlacement() dengan NativeAdOption.AdChoicesPlacement dengan sejumlah nilai.

  • Jika tidak disetel, posisi ikon AdChoices akan disetel di kanan atas.

  • Jika ditetapkan, AdChoices ditempatkan pada 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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Tampilan kustom AdChoices

Fitur tampilan kustom AdChoices memungkinkan Anda menempatkan ikon AdChoices di lokasi kustom. Ini berbeda dari kontrol posisi AdChoices, yang hanya memungkinkan spesifikasi dari salah satu dari keempat sudutnya.

Panggil NativeAdView.setAdChoicesView() dengan AdChoicesView dengan sejumlah nilai.

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

Mulai perilaku membisukan audio

Perilaku mulai dibisukan memungkinkan Anda menonaktifkan atau mengaktifkan audio awal video.

Panggil VideoOptions.Builder.setStartMuted() dengan nilai boolean.
  • Perilaku mulai dibisukan diaktifkan secara default.

  • Jika dinonaktifkan, aplikasi Anda akan meminta agar video dimulai dengan audio.

  • Jika diaktifkan, aplikasi Anda akan meminta agar video dimulai dengan audio dibisukan.

Contoh berikut menunjukkan cara memulai video dengan audio yang dibunyikan.

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

Kontrol pemutaran kustom

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

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 lalu tampilkan kontrol khusus bersama iklan, karena iklan tidak akan menampilkan mengendalikan dirinya sendiri. 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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

Periksa apakah kontrol kustom diaktifkan

Karena pada saat permintaan tidak diketahui apakah iklan yang dikembalikan akan mengizinkan kontrol video kustom, Anda harus memeriksa apakah kontrol kustomnya diaktifkan atau tidak.

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
  }
}

Gestur klik kustom

Gestur klik kustom adalah fitur iklan native yang memungkinkan geser pada tampilan iklan untuk terdaftar sebagai klik iklan. Alat ini dirancang untuk bekerja dengan aplikasi yang menggunakan tindakan geser {i>gesture <i}untuk navigasi konten. Panduan ini menunjukkan cara mengaktifkan klik kustom gestur pada iklan native Anda.

Panggil NativeAdOptions.Builder.enableCustomClickGestureDirection() dengan NativeAdOptions.SwipeGestureDirection dan boolean untuk menunjukkan apakah Anda ingin agar ketukan diizinkan sebagai klik.

  • Gestur klik kustom dinonaktifkan secara default.

  • Saat dinonaktifkan, aplikasi Anda akan mendukung perilaku klik normal.

  • Saat diaktifkan, aplikasi Anda akan mendukung gestur geser kustom.

Contoh berikut menerapkan {i>gesture <i}khusus 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, 'ca-app-pub-3940256099942544/2247696110')
    .withNativeAdOptions(adOptions);

Memproses peristiwa gestur geser

Saat klik gestur geser direkam, Google Mobile Ads SDK akan memanggil Metode onAdSwipeGestureClicked() di AdListener, selain metode yang sudah ada Metode onAdClicked().

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 ditangani Google Rendering Ads SDK. Sumber iklan yang memerlukan SDK pihak ketiga untuk tidak merespons setelan rute klik kustom.