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

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.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 żą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.

  • 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. Dzięki temu obliczenia widoczności w ramach pomiarów otwartych uwzględniają niestandardowe elementy sterujące jako przyjazne przeszkody.
  2. 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ęć.