Reklamy natywne

Reklamy natywne to zasoby reklamy wyświetlane użytkownikom za pomocą komponentów interfejsu, które są natywne na platformie. Są wyświetlane z wykorzystaniem tych samych klas, które już wykorzystujesz w swoich scenorysach, i można je sformatować, aby pasowało do wyglądu aplikacji.

Po wczytaniu reklamy natywnej aplikacja otrzymuje obiekt reklamy zawierający jej zasoby i odpowiada za ich wyświetlanie aplikacja – w przeciwieństwie do pakietu SDK do reklam mobilnych Google.

Ogólnie mówiąc, prawidłowe wdrożenie reklam natywnych składa się z 2 etapów: wczytania reklamy za pomocą pakietu SDK i wyświetlania jej treści w aplikacji.

Na tej stronie pokazujemy, jak używać pakietu SDK do wczytywania reklam natywnych.

Wymagania wstępne

Zawsze korzystaj z reklam testowych

Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie aktywnych reklam produkcyjnych.

Najprostszym sposobem wczytywania reklam testowych jest użycie naszego dedykowanego identyfikatora testowej jednostki reklamowej dla reklam natywnych na iOS:

/6499/example/native

Został on specjalnie skonfigurowany tak, aby zwracał reklamy testowe w odpowiedzi na każde żądanie i możesz go używać we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj, by przed opublikowaniem aplikacji zastąpić go własnym identyfikatorem jednostki reklamowej.

Więcej informacji o działaniu reklam testowych z pakietu SDK do reklam mobilnych Google znajdziesz w artykule Reklamy testowe.

Wczytaj reklamy

Reklamy natywne są wczytywane za pomocą klasy GADAdLoader, która wysyła wiadomości do przedstawicieli zgodnie z protokołem GADAdLoaderDelegate.

Oprócz zdefiniowanego przez system formatu reklamy natywnej możesz też tworzyć własne niestandardowe formaty reklam natywnych, których można używać w przypadku reklam natywnych sprzedawanych bezpośrednio. Niestandardowe formaty reklam natywnych umożliwiają przekazywanie do aplikacji dowolnych uporządkowanych danych. Te reklamy są reprezentowane przez klasę GADCustomNativeAd.

Inicjowanie modułu wczytywania reklam

Zanim wczytasz reklamę, musisz zainicjować program wczytujący reklamy. Ten kod pokazuje, jak zainicjować GADAdLoader:

Swift

adLoader = GADAdLoader(adUnitID: "/6499/example/native",
    rootViewController: self,
    adTypes: [ .native ],
    options: [ ... ad loader options objects ... ])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/native"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

Potrzebujesz identyfikatora jednostki reklamowej (możesz użyć identyfikatora testu), stałych przesyłanych w tablicy adTypes, by określić, o jakie formaty natywne chcesz wysyłać żądania, oraz wszelkich opcji, które chcesz ustawić w parametrze options. Listę możliwych wartości parametru options znajdziesz na stronie ustawiania opcji reklam natywnych.

Tablica adTypes powinna zawierać jedną lub więcej z tych stałych:

Wdrażanie przedstawiciela programu wczytywania reklam

Osoba, której przekazano dostęp do ładowania reklam, musi wdrożyć protokoły odpowiednie dla Twojego typu reklamy. W przypadku reklam natywnych protokół GADNativeAdLoaderDelegate zawiera komunikat, który jest wysyłany do przedstawiciela po wczytaniu reklamy natywnej.

Swift

public func adLoader(_ adLoader: GADAdLoader,
            didReceive nativeAd: GADNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd *)nativeAd;

Protokół GADCustomNativeAdLoaderDelegate zawiera wiadomość, która jest wysyłana do osoby, której przekazano dostęp, po wczytaniu reklamy z szablonu niestandardowego.

Swift

func adLoader(_ adLoader: GADAdLoader,
  Receive customNativeAd: GADCustomNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;

Wyślij żądanie

Po zainicjowaniu GADAdLoader wywołaj jego metodę loadRequest:, aby zażądać reklamy:

Swift

adLoader.load(GAMRequest())

Objective-C

[self.adLoader loadRequest:[GAMRequest request]];

Metoda loadRequest: w elemencie GADAdLoader akceptuje te same obiekty GAMRequest co banery i reklamy pełnoekranowe. Za pomocą obiektów żądań możesz dodawać informacje o kierowaniu, tak jak w przypadku innych typów reklam.

Ustalam, kiedy zakończy się wczytywanie

Gdy aplikacja wywoła metodę loadRequest:, może uzyskać wyniki żądania, używając wywołań:

Żądanie jednej reklamy spowoduje jedno wywołanie jednej z tych metod.

Obsługa nieudanych żądań

Powyższe protokoły rozszerzają protokół GADAdLoaderDelegate, który określa wiadomość wysyłaną, gdy nie uda się wczytać reklam.

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didFailToReceiveAdWithError error: NSError)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didFailToReceiveAdWithError:(NSError *)error;

Otrzymywanie powiadomień o zdarzeniach związanych z reklamami natywnymi

Aby otrzymywać powiadomienia o zdarzeniach związanych z interakcjami z reklamami natywnymi, ustaw właściwość przekazywania dostępu reklamy natywnej:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

Następnie zaimplementuj funkcję GADNativeAdDelegate, aby odbierać te wywołania z przekazanym dostępem:

Swift

func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
  // The native ad was shown.
}

func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
  // The native ad was clicked on.
}

func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
  // The native ad will present a full screen view.
}

func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad will dismiss a full screen view.
}

func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad did dismiss a full screen view.
}

func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

Objective-C

- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
  // The native ad was shown.
}

- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  // The native ad was clicked on.
}

- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
  // The native ad will present a full screen view.
}

- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad will dismiss a full screen view.
}

- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad did dismiss a full screen view.
}

- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

Sprawdzone metody

Przestrzegaj tych reguł podczas wczytywania reklam.

  • Aplikacje, które używają reklam natywnych na liście, powinny zapisać ją w pamięci podręcznej.

  • Podczas wstępnego buforowania reklam wyczyść pamięć podręczną i załaduj ją ponownie po godzinie.

  • Nie wywołuj ponownie funkcji loadRequest: w metodzie GADAdLoader, dopóki nie zakończy się wczytywanie poprzedniego żądania, tak jak wskazuje adLoaderDidFinishLoading:.

Wyświetl reklamę

Po załadowaniu reklamy pozostaje Ci już tylko wyświetlić ją użytkownikom. Aby dowiedzieć się, jak to zrobić, przeczytaj przewodnik dotyczący zaawansowanych reklam natywnych.