Konfigurowanie zaawansowanych funkcji reklam natywnych

Wybierz platformę: Android (beta) Nowość Android iOS

Reklamy natywne mają wiele zaawansowanych funkcji, które umożliwiają wprowadzanie dodatkowych dostosowań i zapewniają najlepsze możliwe wrażenia związane z reklamą. Z tego przewodnika dowiesz się, jak korzystać z zaawansowanych funkcji reklam natywnych.

Wymagania wstępne

Ustawienia komponentów

W tej sekcji znajdziesz szczegółowe informacje o tym, jak dostosować komponenty kreacji w reklamach natywnych. Możesz określić preferowany format plików multimedialnych oraz sposób pobierania i wyświetlania komponentów z obrazem.

Elementy sterujące preferowanym formatem obrazu multimediów

Elementy sterujące formatem obrazu multimediów umożliwiają określenie preferowanego formatu obrazu w kreacjach reklamowych.

Wywołaj funkcję NativeAdOptions.Builder.setMediaAspectRatio() z wartością NativeAdOptions.MediaAspectRatio.

  • Jeśli to pole nie jest ustawione, zwrócona reklama może mieć dowolny format obrazu.

  • Po ustawieniu tego parametru możesz poprawić wrażenia użytkownika, określając preferowany typ formatu obrazu.

Poniższy przykład zawiera instrukcje dla pakietu SDK, aby preferował zwracany obraz lub film o określonym formacie obrazu.

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()

Zastąp AD_UNIT_ID identyfikatorem jednostki reklamowej.

Sterowanie pobieraniem obrazów

Ustawienie kontroli pobierania obrazów pozwala określić, czy pakiet SDK ma zwracać komponenty z obrazem, czy tylko identyfikatory URI.

Wywołaj funkcję NativeAdOptions.Builder.setReturnUrlsForImageAssets() z wartością boolean.

  • Sterowanie pobieraniem obrazów jest domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, Google Mobile Ads SDK wypełnia zarówno obraz, jak i identyfikator URI.

  • Gdy ta opcja jest włączona, pakiet SDK wypełnia tylko identyfikator URI, co pozwala pobierać rzeczywiste obrazy według własnego uznania.

W tym przykładzie pakiet SDK ma zwrócić tylko 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()

Elementy sterujące ładunkiem obrazu

Niektóre reklamy zawierają serię obrazów, a nie tylko jeden. Użyj tej funkcji, aby określić, czy aplikacja jest przygotowana do wyświetlania wszystkich obrazów czy tylko jednego.

Wywołaj funkcję NativeAdOptions.Builder.setRequestMultipleImages() z wartością boolean.

  • Elementy sterujące ładunkiem obrazu są domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, aplikacja instruuje pakiet SDK, aby w przypadku komponentów zawierających serię obrazów udostępniał tylko pierwszy obraz.

  • Gdy ta opcja jest włączona, aplikacja informuje, że jest gotowa do wyświetlania wszystkich obrazów w przypadku komponentów, które mają więcej niż 1 obraz.

Poniższy przykład zawiera instrukcję dla pakietu SDK, aby zwracał wiele zasobów obrazów.

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()

Miejsca docelowe reklam z oznaczeniem Informacja

W tej sekcji opisujemy, jak umieścić nakładkę Informacja. Możesz umieścić go w 1 z 4 rogów lub w niestandardowym widoku.

Ustawienia pozycji ikony Informacja

Ustawienie pozycji ikony Informacja umożliwia wybranie rogu, w którym ma być renderowana ta ikona.

Wywołaj funkcję NativeAdOptions.Builder.setAdChoicesPlacement() z wartością NativeAdOption.AdChoicesPlacement.

  • Jeśli nie jest ustawiona, pozycja ikony Informacja jest ustawiona w prawym górnym rogu.

  • Jeśli jest ustawiona, ikona Informacja jest umieszczana w niestandardowym miejscu zgodnie z żądaniem.

Przykład poniżej pokazuje, jak ustawić niestandardową pozycję obrazu Informacja.

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()

Widok niestandardowy Informacji

Funkcja niestandardowego widoku ikony Informacja umożliwia umieszczenie tej ikony w niestandardowym miejscu. Różni się to od ustawień pozycji ikony Informacja, które umożliwiają określenie tylko 1 z 4 rogów.

Wywołaj funkcję NativeAdView.setAdChoicesView() z wartością AdChoicesView.

Poniższy przykład pokazuje, jak ustawić niestandardowy widok ikony Informacja, która jest renderowana w widoku 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

Sterowanie odtwarzaniem

W tej sekcji opisujemy, jak dostosować sposób odtwarzania reklam wideo. Możesz ustawić początkowy stan wyciszenia i wdrożyć niestandardowe elementy sterujące odtwarzaniem.

Zachowanie na początku wyciszenia

Funkcja rozpoczęcia z wyciszonym dźwiękiem umożliwia włączanie i wyłączanie dźwięku na początku filmu.

Wywołaj funkcję VideoOptions.Builder.setStartMuted() z wartością boolean.

  • Domyślnie włączone jest zachowanie „rozpocznij z wyciszonym dźwiękiem”.

  • Gdy ta opcja jest wyłączona, aplikacja wysyła żądanie, aby odtwarzanie filmu rozpoczęło się od dźwięku.

  • Gdy ta opcja jest włączona, aplikacja wysyła żądanie, aby odtwarzanie filmu rozpoczęło się z wyciszonym dźwiękiem.

W tym przykładzie pokazujemy, jak rozpocząć odtwarzanie filmu z włączonym dźwiękiem.

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()

Niestandardowe elementy sterujące odtwarzaniem

Dzięki temu możesz poprosić o niestandardowe elementy sterujące odtwarzaniem, aby odtwarzać, wstrzymywać lub wyciszać film.

Wywołaj funkcję VideoOptions.Builder.setCustomControlsRequested() z wartością boolean.

  • Niestandardowe elementy sterujące odtwarzaniem są domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, w filmie będą wyświetlane elementy sterujące renderowane przez pakiet SDK.

Jeśli reklama zawiera treści wideo i włączone są niestandardowe elementy sterujące, należy wyświetlać je razem z reklamą, ponieważ sama reklama nie będzie zawierać żadnych elementów sterujących. Elementy sterujące mogą następnie wywoływać odpowiednie metody w 

VideoController.

Poniższy przykład pokazuje, jak wysłać żądanie dotyczące filmu z niestandardowymi elementami sterującymi odtwarzaniem.

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()

Sprawdzanie, czy włączone są niestandardowe elementy sterujące

Ponieważ w momencie wysłania żądania nie wiadomo, czy zwrócona reklama będzie umożliwiać niestandardowe elementy sterujące odtwarzaniem wideo, musisz sprawdzić, czy ma ona włączone niestandardowe elementy sterujące.

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
}

Renderowanie niestandardowych elementów sterujących odtwarzaniem wideo

Renderuj niestandardowe elementy sterujące odtwarzaniem wideo, korzystając z tych sprawdzonych metod:

  1. Wyrenderuj widok elementów sterujących niestandardowych jako element podrzędny widoku reklamy natywnej. Dzięki temu obliczenia widoczności w otwartym pomiarze mogą traktować niestandardowe elementy sterujące jako przyjazne przeszkody.
  2. Unikaj renderowania niewidocznej nakładki na całym widoku multimediów. Nakładki blokują kliknięcia w widoku multimediów, co negatywnie wpływa na skuteczność reklam natywnych. Zamiast tego utwórz małą nakładkę, która będzie wystarczająco duża, aby zmieścić elementy sterujące.