Opcje reklamy natywnej

Reklamy natywne mają wiele zaawansowanych funkcji, które pozwalają i zwiększaj widoczność reklam. Ten przewodnik pokazuje, jak korzystać z zaawansowanych funkcji reklam natywnych.

Wymagania wstępne

Ustawienia komponentów

Preferowane ustawienia formatu obrazu

Ustawienia współczynnika proporcji multimediów umożliwiają określenie preferowanego formatu obrazu kreacji reklamowych.

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

  • Gdy zasada jest nieskonfigurowana, zwrócona reklama może mieć dowolny format obrazu.

  • Po jej skonfigurowaniu możesz zwiększyć wygodę użytkowników, określając preferowany typ formatu obrazu.

W tym przykładzie pakiet SDK jest instruowany, aby preferować zwracanie obrazu lub filmu o określonym formacie obrazu.

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

Kontrola pobierania obrazu

Kontrola pobierania obrazów pozwala określić, czy komponenty z obrazem, czy tylko identyfikatory URI zwracane przez pakiet SDK.

Wywołaj funkcję NativeAdOptions.Builder.setReturnUrlsForImageAssets() z wartością boolean.
  • Kontrola pobierania obrazów jest domyślnie wyłączona.

  • Gdy ta opcja jest wyłączona, pakiet SDK do reklam mobilnych Google zapełnia za Ciebie obraz i identyfikator URI.

  • Gdy ta opcja jest włączona, pakiet SDK wypełnia tylko identyfikator URI, umożliwiając pobranie rzeczywiste obrazy według własnego uznania.

W tym przykładzie pakiet SDK zwraca tylko identyfikator 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();

Elementy sterujące ładunkiem obrazu

Niektóre reklamy zawierają serię obrazów, a nie tylko jeden. Użyj tej funkcji, aby wskazać, czy Twoja aplikacja jest gotowa 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 funkcja jest wyłączona, aplikacja instruuje pakiet SDK, aby podał tylko pierwszy obraz w przypadku zasobów, które zawierają serię.

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

W tym przykładzie pakiet SDK zwraca wiele komponentów obrazu.

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

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

Miejsca docelowe w usłudze AdChoices

Ustawienia pozycji w AdChoices

Elementy sterujące pozycją Informacja pozwalają wybrać róg, Ikona Informacja.

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

  • Jeśli zasada jest nieskonfigurowana, ikona Informacja znajduje się w prawym górnym rogu.

  • Jeśli jest ustawiona, usługa AdChoices jest umieszczana w niestandardowej pozycji zgodnie z żądaniem.

Ten przykład pokazuje, jak ustawić niestandardową pozycję obrazu w Informacjach.

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

Widok niestandardowy w Informacji

Funkcja niestandardowego widoku Informacja pozwala umieścić ikonę Informacja w niestandardowym miejscu. Różni się to od elementów sterujących pozycjonowaniem w usłudze Informacja, które który pozwala wskazać jeden z czterech rogów obrazu.

Zadzwoń pod numer NativeAdView.setAdChoicesView() z AdChoicesView .

Poniższy przykład pokazuje, jak skonfigurować niestandardowy widok Informacja, w którym Ikona Informacja renderowana w elemencie AdChoicesView.


public void onNativeAdLoaded(NativeAd ad) {
    NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
    AdChoicesView adChoicesView = new AdChoicesView(this);
    nativeAdView.setAdChoicesView(adChoicesView);
}

Sterowanie odtwarzaniem

Działanie ignorowania

Zachowanie wyciszenia na początku pozwala wyłączyć lub włączyć dźwięk początkowy filmu.

Wywołaj funkcję VideoOptions.Builder.setStartMuted() z wartością boolean.
  • Na początku opcja wyciszenia jest domyślnie włączona.

  • Gdy ta opcja jest wyłączona, aplikacja prosi o rozpoczęcie filmu od audio.

  • Gdy ta opcja jest włączona, aplikacja prosi o to, aby film zaczynał się z wyciszonym dźwiękiem.

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

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

Niestandardowe elementy sterujące odtwarzaniem

Dzięki temu możesz zażądać niestandardowych elementów sterujących wejściem wideo, by odtwarzać, wstrzymywać lub wyciszać film.

Zadzwoń pod numer 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 wejściowe renderowane przez pakiet SDK.

  • Jeśli reklama zawiera treści wideo i są włączone niestandardowe elementy sterujące, niestandardowe elementy sterujące zostaną wyświetlone razem z reklamą, ponieważ i steruje nimi. Elementy sterujące mogą wtedy wywoływać odpowiednie metody w VideoController.

Ten przykład pokazuje, jak poprosić o film z niestandardowymi elementami sterującymi odtwarzaniem.

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

Sprawdź, czy włączone są elementy sterujące niestandardowe

Ponieważ na żądanie nie wiadomo, czy zwrócona reklama pozwoli niestandardowych elementów sterujących wideo, musisz sprawdzić, czy są w nim włączone niestandardowe elementy sterujące.

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

Renderowanie niestandardowych elementów sterujących wideo

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

  1. Renderuj widok niestandardowych ustawień jako element podrzędny widoku reklamy natywnej. Dzięki temu obliczenia widoczności w ramach pomiarów otwartych uwzględniają niestandardowe elementy sterujące jako przyjazne przeszkody.
  2. Unikaj renderowania niewidocznej nakładki nakładanej na cały widok 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ć się w elementach sterujących.

Niestandardowe gesty kliknięć

Niestandardowe gesty kliknięć to funkcja reklam natywnych, która umożliwia przesuwanie palcem po wyświetleniu reklamy, być rejestrowane jako kliknięcia reklam. Działa z aplikacjami, które używają przesuwania do poruszania się po treści. Z tego przewodnika dowiesz się, jak włączyć kliknięcie niestandardowe za pomocą gestów w reklamach natywnych.

Zadzwoń pod numer NativeAdOptions.Builder.enableCustomClickGestureDirection() z NativeAdOptions.SwipeGestureDirection i boolean, aby wskazać, czy kliknięcia mają być akceptowane jako kliknięcia.

  • Niestandardowe gesty kliknięcia są domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, aplikacja będzie obsługiwać normalne klikanie.

  • Po włączeniu tej funkcji aplikacja będzie obsługiwać niestandardowe gesty przesuwania.

W tym przykładzie zastosowano niestandardowy gest przesunięcia palcem w prawo, zachowując normalne działanie kart.

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

Nasłuchiwanie zdarzeń związanych z gestami przesuwania

Gdy zostanie zarejestrowany gest przesunięcia, pakiet SDK do reklam mobilnych Google wywołuje metodę onAdSwipeGestureClicked() w obiekcie AdListener, oprócz istniejącej metody 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();

Mediacja

Gesty kliknięcia niestandardowego działają tylko w przypadku reklam natywnych renderowanych przez pakiet SDK do reklam mobilnych Google. Źródła reklam, które wymagają zewnętrznych pakietów SDK renderowane, nie reagują na ustawienie wskazówek dojazdu niestandardowych kliknięć.