Opcje reklamy natywnej

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

Zarządzanie zasobami

Preferowane ustawienia formatu obrazu

Ustawienia współczynnika proporcji multimediów umożliwiają określanie preferencji dotyczących formatu kreacji reklamowych.

Ustaw GADNativeAdMediaAdLoaderOptions mediaAspectRatio jako GADMediaAspectRatio.

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

  • Po 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.

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 obrazu

Narzędzie do pobierania obrazów pozwala określić, czy pakiet SDK ma zwracać zasoby graficzne 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 zapełnia za Ciebie obraz i identyfikator 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 ]];

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.

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 z obrazem.

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 Informacji

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 widoku niestandardowego w AdChoices umożliwia umieszczenie ikony AdChoices 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.adChoicesViewGADAdChoicesView, 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 prosi o rozpoczęcie filmu od dźwięku.

  • 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.

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 poprosić o niestandardowe elementy sterujące odtwarzaniem, aby odtworzyć, wstrzymać lub wyciszyć film.

Ustaw GADVideoOptions customControlsRequested na 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.

  • 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:

  1. Renderuj widok elementów sterujących niestandardowych jako element podrzędny widoku reklamy natywnej. To podejście gwarantuje, że otwarte pomiary widoczności będą traktować niestandardowe ustawienia jako przyjazną przeszkodę.
  2. Unikaj renderowania niewidocznego nakładki na cały widok multimediów. Przesłonięcia 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 w postaci dotknięć.

  • Niestandardowe gesty kliknięcia są domyślnie wyłączone.

  • Gdy ta opcja jest wyłączona, jako kliknięcia liczone są tylko 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ęć.