Konfigurowanie zaawansowanych funkcji reklam natywnych

Reklamy natywne mają wiele funkcji zaawansowanych, które pozwalają na dodatkowe dostosowanie i zapewnienie jak najlepszej jakości reklamy. Z tego przewodnika dowiesz się, jak korzystać z funkcji zaawansowanych reklam natywnych.

Wymagania wstępne

Elementy sterujące komponentami

W tej sekcji opisujemy, jak dostosować komponenty kreacji w reklamach natywnych. Możesz określić preferowany format obrazu zasobów multimedialnych oraz sposób pobierania i wyświetlania komponentów z obrazem.

Elementy sterujące preferowanym formatem obrazu multimediów

Elementy sterujące formatem obrazu multimediów umożliwiają określenie preferowanego formatu obrazu w kreacjach reklamowych.

Ustaw GADNativeAdMediaAdLoaderOptions mediaAspectRatio z wartością GADMediaAspectRatio.

  • Jeśli nie jest ustawiony, zwrócona reklama może mieć dowolny format obrazu multimediów.

  • Po ustawieniu tego parametru możesz poprawić wrażenia użytkownika, określając preferowany typ formatu obrazu.

Poniższy przykład instruuje pakiet SDK, aby preferował zwracanie obrazu lub filmu o określonym formacie obrazu.

Swift

let nativeOptions = NativeAdMediaAdLoaderOptions()
nativeOptions.mediaAspectRatio = .any

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdMediaAdLoaderOptions *nativeOptions = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOptions.mediaAspectRatio = GADMediaAspectRatioAny;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Zastąp nativeAdUnitID identyfikatorem jednostki reklamowej.

Element sterujący pobieraniem obrazu

Element sterujący pobieraniem obrazu umożliwia określenie, czy pakiet SDK ma zwracać komponenty z obrazem, czy tylko identyfikatory URI.

Ustaw GADNativeAdImageAdLoaderOptions disableImageLoading z wartością BOOL.

  • Elementy sterujące pobieraniem obrazu są domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, Google Mobile Ads SDK 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ć rzeczywiste obrazy według własnego uznania.

Poniższy przykład instruuje pakiet SDK, aby zwracał tylko identyfikator URI.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.disableImageLoading = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Zarządzanie zestawem danych 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.

  • Zarządzanie zestawem danych obrazu jest domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, Twoja aplikacja instruuje pakiet SDK, aby w przypadku komponentów zawierających serię obrazów udostępniał tylko pierwszy obraz.

  • Gdy ta opcja jest włączona, Twoja aplikacja wskazuje, ż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 instruuje pakiet SDK, aby zwracał wiele komponentów z obrazem.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.shouldRequestMultipleImages = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Miejsca docelowe reklamy z oznaczeniem Informacja

W tej sekcji opisujemy, jak umieścić nakładkę Informacja. Możesz umieścić go w 1 z 4 rogów lub w niestandardowym widoku.

Ustawienia pozycji ikony Informacja

Ustawienie Informacja umożliwia wybranie rogu, w którym ma być renderowana ta ikona.

Ustaw GADNativeAdViewAdOptions preferredAdChoicesPosition z wartością GADAdChoicesPosition.

  • Jeśli nie jest ustawiona, pozycja ikony Informacja jest ustawiona w prawym górnym rogu.

  • Jeśli jest ustawiona, ikona Informacja jest umieszczana w niestandardowym miejscu zgodnie z żądaniem.

Przykład poniżej pokazuje, jak ustawić niestandardową pozycję obrazu Informacja.

Swift

let nativeOptions = NativeAdViewAdOptions()
nativeOptions.preferredAdChoicesPosition = .topRightCorner

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Niestandardowy widok ikony Informacja

Funkcja niestandardowego widoku ikony Informacja umożliwia umieszczenie tej ikony w niestandardowym miejscu. Różni się to od ustawień pozycji ikony Informacja, które umożliwiają określenie tylko 1 z 4 rogów.

Ustaw właściwość GADNativeAd.adChoicesView z wartością GADAdChoicesView przed renderowaniem, a treści oznaczone ikoną Informacja będą renderowane w elemencie GADAdChoicesView.

Poniższy przykład pokazuje, jak ustawić niestandardowy widok ikony Informacja. Ikona Informacja jest renderowana w widoku GADAdChoicesView:

Swift

private func createAdChoicesView(nativeAdView: NativeAdView) {
  // 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
}

Objective-C

- (void)createAdChoicesViewWithNativeAdView:(GADNativeAdView *)nativeAdView {
  // Define a custom position for the AdChoices icon.
  CGRect customRect = CGRectMake(100, 100, 15, 15);
  GADAdChoicesView *customAdChoicesView = [[GADAdChoicesView alloc] initWithFrame:customRect];
  [nativeAdView addSubview:customAdChoicesView];
  nativeAdView.adChoicesView = customAdChoicesView;
}

Sterowanie odtwarzaniem

W tej sekcji opisujemy, jak dostosować odtwarzanie reklam wideo. Możesz ustawić początkowy stan wyciszenia i zaimplementować niestandardowe elementy sterujące odtwarzaniem.

Zachowanie na początku wyciszenia

Zachowanie na początku wyciszenia umożliwia wyłączenie lub włączenie dźwięku na początku filmu.

Ustaw GADVideoOptions startMuted z wartością BOOL.

  • Zachowanie na początku wyciszenia jest domyślnie włączone.

  • Gdy ta opcja jest wyłączona, Twoja aplikacja żąda, aby film zaczynał się z dźwiękiem.

  • Gdy ta opcja jest włączona, Twoja aplikacja żąda, aby film zaczynał się z wyciszonym dźwiękiem.

Poniższy przykład pokazuje, jak rozpocząć odtwarzanie filmu z włączonym dźwiękiem.

Swift

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.startMuted = NO;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

Niestandardowe elementy sterujące odtwarzaniem

Umożliwia to żądanie niestandardowych elementów sterujących odtwarzaniem wideo, które pozwalają odtwarzać, wstrzymywać i wyciszać film.

Ustaw GADVideoOptions customControlsRequested z wartością BOOL.

  • 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 odtwarzaniem renderowane przez pakiet SDK.

Jeśli reklama zawiera treści wideo i włączone są niestandardowe elementy sterujące, należy wyświetlać je razem z reklamą, ponieważ sama reklama nie będzie zawierać żadnych elementów sterujących. Elementy sterujące mogą następnie wywoływać odpowiednie metody w 

GADVideoController.

Poniższy przykład pokazuje, jak zażądać filmu z niestandardowymi elementami sterującymi odtwarzaniem.

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.customControlsRequested = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

Sprawdzanie, czy włączone są elementy sterujące niestandardowe

Ponieważ w momencie wysyłania żądania nie wiadomo, czy zwrócona reklama będzie umożliwiać niestandardowe elementy sterujące odtwarzaniem wideo, musisz sprawdzić, czy ma ona włączone elementy sterujące niestandardowe.

Swift

private func checkCustomControlsEnabled(nativeAd: NativeAd) -> Bool {
  let videoController = nativeAd.mediaContent.videoController
  return videoController.areCustomControlsEnabled
}

Objective-C

- (BOOL)checkCustomControlsEnabledWithNativeAd:(GADNativeAd *)nativeAd {
  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  return videoController.customControlsEnabled;
}

Renderowanie niestandardowych elementów sterujących odtwarzaniem wideo

Renderuj niestandardowe elementy sterujące odtwarzaniem wideo, korzystając z tych sprawdzonych metod:

  1. Renderuj widok elementów sterujących niestandardowych jako element podrzędny widoku reklamy natywnej. Dzięki temu obliczenia widoczności w ramach Open Measurement będą traktować elementy sterujące niestandardowe jako przyjazne zasłanianie.
  2. 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

Gesty kliknięć niestandardowych to funkcja reklam natywnych, która umożliwia rejestrowanie przesunięć w widokach reklam jako kliknięć reklam. Działa w aplikacjach, które używają gestów przesuwania do nawigacji po treściach. Z tego przewodnika dowiesz się, jak włączyć gesty kliknięć niestandardowych w reklamach natywnych.

Zainicjuj GADNativeAdCustomClickGestureOptions instancję z wybranym kierunkiem przesunięcia. Musisz też wskazać, czy zezwalać na kliknięcia jako kliknięcia.

  • Gesty kliknięć niestandardowych są domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, tylko kliknięcia są liczone jako kliknięcia.

  • Gdy ta opcja jest włączona, gesty przesuwania są liczone jako kliknięcia i możesz określić, czy kliknięcia nadal mają być liczone jako kliknięcia.

Poniższy przykład pokazuje, jak zaimplementować niestandardowy gest przesuwania w prawo i zachować normalne działanie kliknięcia.

Swift

let swipeGestureOptions = NativeAdCustomClickGestureOptions(
  swipeGestureDirection: .right,
  tapsAllowed: true)

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [swipeGestureOptions])

Objective-C

GADNativeAdCustomClickGestureOptions *swipeGestureOptions =
    [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ swipeGestureOptions ]];

Nasłuchiwanie zdarzeń gestów przesuwania

Gdy zostanie zarejestrowane kliknięcie gestem przesuwania, Google Mobile Ads SDK wywoła metodę delegata nativeAdDidRecordSwipeGestureClick: w GADNativeAdDelegate , oprócz dotychczasowej metody delegata nativeAdDidRecordClick:.

Swift

// Called when a swipe gesture click is recorded, as configured in
// NativeAdCustomClickGestureOptions.
func nativeAdDidRecordSwipeGestureClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click has occurred.")
}

// Called when a swipe gesture click or a tap click is recorded.
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click or tap click has occurred.")
}

Objective-C

// Called when a swipe gesture click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

Mediacja

Gesty kliknięć niestandardowych działają tylko w przypadku reklam natywnych renderowanych przez pakiet SDK do reklam mobilnych Google. Źródła reklam, które do renderowania wymagają zewnętrznych pakietów SDK , nie reagują na ustawienie kierunków kliknięć niestandardowych.