Reklamy natywne mają wiele zaawansowanych funkcji, które umożliwiają dodatkowe dostosowywanie i zapewniają jak najlepsze wrażenia z reklam. Z tego przewodnika dowiesz się, jak korzystać z zaawansowanych funkcji reklam natywnych.
Wymagania wstępne
- Zintegruj format reklam natywnych.
Ustawienia komponentów
Preferowane ustawienia formatu obrazu
Ustawienia formatu obrazu multimediów umożliwiają określenie formatu obrazu kreacji.
Ustaw wartość GADNativeAdMediaAdLoaderOptions mediaAspectRatio
za pomocą wartości GADMediaAspectRatio
.
Jeśli nie zostanie ustawiony, zwrócona reklama może mieć dowolny format obrazu.
Po ustawieniu możesz poprawić wrażenia użytkownika, 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.
GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Element sterujący pobieraniem obrazu
Za pomocą tej opcji możesz 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 URI.
Gdy ta opcja jest włączona, pakiet SDK wypełnia tylko URI, co umożliwia pobieranie rzeczywistych obrazów według własnego uznania.
W tym przykładzie pakiet SDK zwraca tylko identyfikator 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 ł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.
Ustaw zmiennąGADNativeAdImageAdLoaderOptions shouldRequestMultipleImages
na wartość BOOL
.
Elementy sterujące ładunkiem obrazu są domyślnie wyłączone.
Gdy ta opcja jest wyłączona, aplikacja instruuje pakiet SDK, aby przekazywał tylko pierwszy obraz w przypadku wszystkich komponentów zawierających 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.
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 z oznaczeniem Informacja
Ustawienia pozycji w AdChoices
Za pomocą ustawień pozycji ikony Informacja możesz wybrać, w którym rogu reklamy ma się ona wyświetlać.
Ustaw zmienną GADNativeAdViewAdOptions preferredAdChoicesPosition
na wartość GADAdChoicesPosition
.
Jeśli nie zostanie ustawiony, ikona AdChoices będzie wyświetlana 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 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 w Informacji
Funkcja niestandardowego widoku Informacja umożliwia umieszczenie ikony Informacja w niestandardowym miejscu. Różni się to od ustawień pozycji w AdChoices, które umożliwiają określenie tylko jednego z 4 rogów.
Przed wyrenderowaniem ustaw właściwość GADNativeAd.adChoicesView
z GADAdChoicesView
, a treści AdChoices zostaną wyrenderowane w ramach elementu GADAdChoicesView
.
Ten przykład pokazuje, jak ustawić niestandardowy widok AdChoices. Ikona Informacja będzie renderowana wewnątrz 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: GADAdLoader, didReceive nativeAd: GADNativeAd) {
refreshAdButton.isEnabled = true
...
// Define a custom position for the AdChoices icon.
let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
let customAdChoicesView = GADAdChoicesView(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
Zachowanie podczas włączania wyciszenia
Wyciszenie na początku filmu pozwala wyłączyć lub włączyć dźwięk na początku filmu.
Ustaw zmiennąGADVideoOptions startMuted
na wartość BOOL
.
Domyślnie włączone jest wyciszenie na początku.
Gdy ta opcja jest wyłączona, aplikacja żąda, aby film zaczynał się od dźwięku.
Gdy ta opcja jest włączona, aplikacja prosi o to, aby film zaczynał się z wyciszonym dźwiękiem.
Z tego przykładu dowiesz się, 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 ]];
Elementy sterujące odtwarzaniem
Dzięki temu możesz poprosić o niestandardowe elementy sterujące odtwarzaniem, aby odtworzyć, wstrzymać lub wyciszyć 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 SDK.
- Po włączeniu tej opcji możesz sterować reklamą wideo za pomocą parametrów
GADVideoController play
,GADVideoController pause
iGADVideoController setMute
.
- Jeśli reklama zawiera treści wideo i włączone są elementy sterujące, wyświetlaj je razem z reklamą, ponieważ sama reklama nie będzie zawierać żadnych elementów sterujących. Kontrolery mogą wtedy wywoływać odpowiednie metody w
GADVideoController
.
Ten przykład pokazuje, jak poprosić o film 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 ]];
Sprawdź, czy włączone są elementy sterujące niestandardowe
W momencie wysłania żądania nie wiadomo, czy zwrócona reklama będzie miała włączone elementy sterujące odtwarzaniem, dlatego musisz sprawdzić, czy są one włączone.
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd*)nativeAd {
GADVideoController *videoController = nativeAd.mediaContent.videoController;
BOOL canShowCustomControls = videoController.customControlsEnabled;
}
Swift
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
let videoController = nativeAd.mediaContent.videoController
let canShowCustomControls = videoController?.customControlsEnabled() == true
}
Renderowanie niestandardowych elementów sterujących odtwarzaniem
Renderuj niestandardowe elementy sterujące odtwarzaniem wideo, korzystając z tych sprawdzonych metod:
- Renderuj widok elementów sterujących niestandardowych 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 niewidocznego nakładania się 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 pomieścić elementy sterujące.
Gesty kliknięć niestandardowych
Gesty kliknięcia niestandardowego to funkcja reklam natywnych, która umożliwia rejestrowanie gestów przesuwania jako kliknięć reklam. Jest ona przeznaczona do korzystania z aplikacji, które używają gestów przesuwania do nawigacji po treściach. Z tego przewodnika dowiesz się, jak włączyć niestandardowe gesty kliknięcia w reklamach natywnych.
Zainicjuj wystąpienie GADNativeAdCustomClickGestureOptions
z wybranym kierunkiem przesunięcia. Musisz też określić, czy dozwolone mają być kliknięcia dotykiem.
Niestandardowe gesty kliknięcia są domyślnie wyłączone.
Gdy ta opcja jest wyłączona, tylko kliknięcia będą zliczane jako kliknięcia.
Po włączeniu gesty przesuwania będą zliczane jako kliknięcia. Możesz też określić, czy kliknięcia będą nadal zliczane jako kliknięcia.
Ten przykład pokazuje, jak zaimplementować niestandardowy gest przesunięcia w prawo, który zachowuje normalne działanie dotknię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ń związanych z gestami przesuwania
Gdy zostanie zarejestrowany gest przesunięcia, pakiet SDK do reklam mobilnych Google wywołuje metodę nativeAdDidRecordSwipeGestureClick:
w obiekcie GADNativeAdDelegate
, oprócz istniejącej metody 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ęć.