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

Zarządzanie zasobami

Ustawienia preferowanego formatu obrazu multimediów

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

Zadzwoń pod numer NativeAdOptions.Builder.setMediaAspectRatio() z 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 poniższym przykładzie pakiet SDK ma ustawiony preferowany obraz lub film zwrotny ze konkretnego współczynnika proporcji.

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.

Zadzwoń pod numer 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();

Ustawienia ładunku obrazu

Niektóre reklamy zawierają serię obrazów, a nie tylko jeden. Za pomocą tej funkcji możesz: określić, czy aplikacja jest gotowa do wyświetlenia wszystkich obrazów czy tylko jednego.

Zadzwoń pod numer NativeAdOptions.Builder.setRequestMultipleImages() z wartością boolean.
  • Ustawienia ładunku obrazów są domyślnie wyłączone.

  • Gdy ta funkcja jest wyłączona, aplikacja instruuje pakiet SDK, aby podał tylko pierwszy obraz w przypadku zasobów zawierających serię.

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

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

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

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

Miejsca docelowe Informacja

Kontrola pozycji reklamy

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

Zadzwoń pod numer NativeAdOptions.Builder.setAdChoicesPlacement() z NativeAdOption.AdChoicesPlacement .

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

  • Jeśli ją ustawisz, Informacja będzie umieszczona w żądanym miejscu na pozycji niestandardowej.

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 Informacja

Funkcja widoku niestandardowego Informacja pozwala umieścić ikonę Informacja w sekcji lokalizację niestandardową. 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

Działalność ta umożliwia włączenie lub wyłączenie dźwięku początkowego w filmie.

Zadzwoń pod numer 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 wyciszenie dźwięku na początku filmu.

Ten przykład pokazuje, 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ą widoczne ustawienia wejścia 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ą następnie wywoływać odpowiednie metody na stronie VideoController

Ten przykład pokazuje, jak wysłać żądanie filmu za pomocą niestandardowych elementów sterujących 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 są włączone niestandardowe elementy sterujące

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

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ęć są domyślnie wyłączone.

  • Po wyłączeniu tej funkcji aplikacja będzie obsługiwać normalne zachowanie przy kliknięciach.

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

W tym przykładzie pokazano niestandardowy gest przesuwania w prawo zachowuje 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łuchuj zdarzeń gestu przesuwania

Po zarejestrowaniu kliknięcia gestem przesuwania pakiet SDK do reklam mobilnych Google wywołuje komponent onAdSwipeGestureClicked() w 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

Niestandardowe gesty kliknięć działają tylko z reklamami natywnymi wyświetlanymi w Google Mobile renderuje pakiet SDK do wyświetlania reklam. Źródła reklam, które wymagają zewnętrznych pakietów SDK renderowane, nie reagują na ustawienie wskazówek dojazdu niestandardowych kliknięć.