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
- Integracja formatu reklamy natywnej
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 numerNativeAdView.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 numerVideoOptions.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:
- 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.
- 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ęć.