Reklamy natywne mają wiele zaawansowanych funkcji, które umożliwiają dodatkowe dostosowywanie i maksymalizowanie jakości reklam. Ten przewodnik pokazuje, jak korzystać z zaawansowanych funkcji reklam natywnych.
Wymagania wstępne
- Integracja formatu reklamy natywnej
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();
Element sterujący pobieraniem obrazu
Kontrola pobierania obrazów pozwala określić, czy komponenty z obrazem, czy tylko identyfikatory URI zwracane przez pakiet SDK.
Zadzwoń pod numerNativeAdOptions.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. Użyj tej funkcji, aby wskazać, czy Twoja aplikacja jest gotowa do wyświetlania wszystkich obrazów czy tylko jednego.
Zadzwoń pod numerNativeAdOptions.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 AdChoices.
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.
Wywołaj funkcjęNativeAdView.setAdChoicesView()
z wartością 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 numerVideoOptions.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 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ą widoczne elementy sterujące renderowane przez 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 kontroluje nad nimi. Elementy sterujące mogą następnie wywoływać odpowiednie metody na stronie
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 są włączone niestandardowe elementy sterujące
W momencie wysłania żądania nie wiadomo, czy zwrócona reklama będzie zawierać elementy sterujące odtwarzaniem, dlatego musisz sprawdzić, czy są one włączone.
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
}
}
Gesty kliknięcia niestandardowego
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.
Gdy ta opcja jest włączona, aplikacja obsługuje 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łuchiwanie zdarzeń związanych z gestami przesuwania
Po zarejestrowaniu kliknięcia gestem przesuwania pakiet SDK do reklam mobilnych Google wywołuje komponent
onAdSwipeGestureClicked()
w AdListener
, oprócz istniejącej metody
Metoda 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ęć.