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
- Zintegruj format reklamy natywnej.
Ustawienia zasobów
Skonfiguruj ustawienia komponentów reklamy natywnej.
Elementy sterujące preferowanym formatem obrazu
Elementy sterujące formatem obrazu multimediów umożliwiają określenie preferowanego formatu obrazu kreacji reklamowych.
Ustaw GADNativeAdMediaAdLoaderOptions mediaAspectRatio
za pomocą GADMediaAspectRatio
.
Jeśli ten parametr nie jest ustawiony, 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 współczynnika proporcji.
W tym przykładzie pakiet SDK otrzymuje instrukcję, aby preferować zwracanie obrazu lub filmu o określonym formacie obrazu.
GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Kontrola pobierania obrazów
Ustawienie kontroli pobierania obrazów pozwala określić, czy pakiet SDK ma zwracać komponenty z obrazem, czy tylko identyfikatory URI.
Ustaw zmienną GADNativeAdImageAdLoaderOptions disableImageLoading
na wartość BOOL
.
Kontrola pobierania obrazów jest domyślnie wyłączona.
Gdy ta opcja jest wyłączona, pakiet SDK do reklam mobilnych Google 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ć obrazy według własnego uznania.
W tym przykładzie pakiet SDK ma zwrócić tylko URI.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.disableImageLoading = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Elementy sterujące danymi 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 podawał 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.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.shouldRequestMultipleImages = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Miejsca docelowe reklam z oznaczeniem Informacja
Dostosuj wyświetlanie ikony Informacja.
Ustawienia pozycji informacji
Ustawienia pozycji ikony Informacja umożliwiają wybór rogu, w którym ma być renderowana ikona Informacja.
Ustaw zmienną GADNativeAdViewAdOptions preferredAdChoicesPosition
na wartość GADAdChoicesPosition
.
Jeśli nie jest ustawiona, pozycja ikony Informacja jest ustawiona w prawym górnym rogu.
Jeśli jest ustawiona, ikona AdChoices jest umieszczana w niestandardowym miejscu zgodnie z żądaniem.
Ten przykład pokazuje, jak ustawić niestandardową pozycję obrazu AdChoices.
GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopLeftCorner;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
Widok niestandardowy Informacji
Funkcja niestandardowego widoku Informacja umożliwia umieszczenie ikony Informacja w niestandardowym miejscu. Różni się to od ustawień pozycji AdChoices, które umożliwiają określenie tylko jednego z 4 rogów.
Ustaw właściwość GADNativeAd.adChoicesView
z wartością GADAdChoicesView
przed renderowaniem, a treść AdChoices zostanie wyrenderowana w obrębie elementu GADAdChoicesView
.
Poniższy przykład pokazuje, jak ustawić niestandardowy widok AdChoices. Ikona Informacja będzie renderowana w elemencie GADAdChoicesView
.
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
...
GADAdChoicesView *customAdChoicesView =
[[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];
[nativeAdView addSubview:customAdChoicesView];
nativeAdView.adChoicesView = customAdChoicesView;
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
refreshAdButton.isEnabled = true
...
// Define a custom position for the AdChoices icon.
let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
let customAdChoicesView = AdChoicesView(frame: customRect)
nativeAdView.addSubview(customAdChoicesView)
nativeAdView.adChoicesView = customAdChoicesView
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
Sterowanie odtwarzaniem
Skonfiguruj działanie komponentu wideo.
Zachowanie na początku ignorowania
Funkcja rozpoczęcia z wyciszonym dźwiękiem umożliwia włączanie i wyłączanie dźwięku na początku filmu.
Ustaw zmienną GADVideoOptions startMuted
na wartość BOOL
.
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.
Poniższy przykład pokazuje, jak rozpocząć odtwarzanie filmu z włączonym dźwiękiem.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.startMuted = NO;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
Niestandardowe elementy sterujące odtwarzaniem
Dzięki temu możesz wysyłać żądania niestandardowych elementów sterujących odtwarzaniem wideo, aby odtwarzać, wstrzymywać lub wyciszać film.
Ustaw zmienną GADVideoOptions customControlsRequested
na wartość BOOL
.
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 pakiet SDK.
- Po włączeniu tej funkcji możesz używać poleceń
GADVideoController play
,GADVideoController pause
iGADVideoController setMute
do sterowania reklamą wideo.
Jeśli reklama zawiera treści wideo i włączone są niestandardowe elementy sterujące, należy wyświetlić je razem z reklamą, ponieważ sama reklama nie będzie zawierać żadnych elementów sterujących. Kontrolki mogą następnie wywoływać odpowiednie metody w
W przykładzie poniżej pokazujemy, jak wysłać żądanie dotyczące filmu z niestandardowymi elementami sterującymi odtwarzaniem.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.customControlsRequested = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
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ć korzystanie z niestandardowych elementów sterujących odtwarzaniem wideo, musisz sprawdzić, czy ma ona włączone niestandardowe elementy sterujące.
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd*)nativeAd {
GADVideoController *videoController = nativeAd.mediaContent.videoController;
BOOL canShowCustomControls = videoController.customControlsEnabled;
}
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
let videoController = nativeAd.mediaContent.videoController
let canShowCustomControls = videoController?.customControlsEnabled() == true
}
Renderowanie niestandardowych elementów sterujących odtwarzaniem wideo
Renderuj niestandardowe elementy sterujące odtwarzaniem wideo, korzystając z tych sprawdzonych metod:
- Wyrenderuj widok elementów sterujących jako element podrzędny widoku reklamy natywnej. Dzięki temu obliczenia widoczności w ramach pomiaru otwartego mogą traktować elementy sterujące jako przyjazną przeszkodę.
- 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.
Gesty kliknięć niestandardowych
Niestandardowe gesty kliknięcia to funkcja reklam natywnych, która umożliwia rejestrowanie przesunięć w widokach reklam jako kliknięć reklam. Jest ona przeznaczona do współpracy z aplikacjami, które do nawigacji po treściach używają gestów przesuwania. Z tego przewodnika dowiesz się, jak włączyć w reklamach natywnych niestandardowe gesty kliknięcia.
Zainicjuj instancję GADNativeAdCustomClickGestureOptions
w wybranym kierunku przesunięcia. Musisz też określić, czy kliknięcia mają być traktowane jako kliknięcia.
Niestandardowe gesty kliknięcia są domyślnie wyłączone.
Gdy ta opcja jest wyłączona, tylko kliknięcia będą liczone jako kliknięcia.
Gdy ta opcja jest włączona, gesty przesuwania są liczone jako kliknięcia. Możesz też określić, czy dotknięcia nadal mają być liczone jako kliknięcia.
Poniższy przykład pokazuje, jak zaimplementować niestandardowy gest przesuwania w prawo, zachowując normalne działanie kliknięcia.
GADNativeAdCustomClickGestureOptions *swipeGestureOptions = [[GADNativeAdCustomClickGestureOptions alloc]
initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
tapsAllowed:YES];
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ swipeGestureOptions ]];
Nasłuchiwanie zdarzeń gestu przesuwania
Gdy zostanie zarejestrowane kliknięcie wywołane gestem przesuwania, pakiet SDK do reklam mobilnych Google wywoła metodę delegowania nativeAdDidRecordSwipeGestureClick:
w GADNativeAdDelegate
oprócz dotychczasowej metody delegowania nativeAdDidRecordClick:
.
#pragma mark - GADNativeAdDelegate implementation
// Called when a swipe gesture click is recorded.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click has occurred.");
}
// Called when a swipe gesture click or a tap click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click or tap click has occurred.");
}
Mediacja
Niestandardowe gesty kliknięcia działają tylko w przypadku reklam natywnych renderowanych przez pakiet SDK do reklam mobilnych Google. Źródła reklam, które do renderowania wymagają pakietów SDK firm zewnętrznych, nie reagują na ustawienie niestandardowych kierunków kliknięć.