Reklamy natywne

Reklamy natywne to zasoby reklamy wyświetlane użytkownikom za pomocą komponentów interfejsu występujących na platformie. Są wyświetlane przy użyciu tych samych klas, które są już używane w Twoich scenorysach, i można je sformatować tak, aby pasowały do wizualnego projektu aplikacji.

Po wczytaniu reklamy natywnej Twoja aplikacja otrzymuje obiekt reklamy zawierający jej zasoby i za ich wyświetlenie odpowiada aplikacja (a nie pakiet SDK do reklam mobilnych Google).

Ogólnie rzecz biorąc, skuteczne wdrożenie reklam natywnych składa się z 2 etapów: Wczytywanie reklamy za pomocą pakietu SDK, a następnie wyświetlenie jej treści w aplikacji.

Z tego artykułu dowiesz się, jak za pomocą pakietu SDK wczytać reklam natywnych.

Wymagania wstępne

Zawsze korzystaj z reklam testowych

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

Najłatwiejszym sposobem wczytania reklam testowych jest użycie dedykowanego testowego identyfikatora jednostki reklamowej przeznaczonej do reklam natywnych na iOS:

/6499/example/native

Został on specjalnie skonfigurowany tak, aby zwracać reklamy testowe w przypadku każdego żądania. Możesz go używać we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj tylko, by przed opublikowaniem aplikacji zastąpić go identyfikatorem jednostki reklamowej.

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

Wczytaj reklamy

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

Oprócz zdefiniowanego przez system formatu natywnego możesz też tworzyć własne niestandardowe formaty reklam natywnych do wykorzystania w przypadku reklam natywnych sprzedawanych bezpośrednio. Niestandardowe formaty reklam natywnych pozwalają przekazywać do aplikacji dowolne uporządkowane dane. Reklamy te są reprezentowane przez klasę GADCustomNativeAd.

Inicjowanie wczytywania reklam

Zanim załadujesz reklamę, musisz zainicjować moduł wczytywania reklam. 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;

Potrzebny będzie identyfikator jednostki reklamowej (możesz użyć identyfikatora testowego), stałe przekazywane w tablicy adTypes, które określają, które formaty natywne mają być wysyłane, oraz wszelkie opcje, które można ustawić w parametrze options. Listę możliwych wartości parametru options znajdziesz na stronie Ustawianie opcji reklam natywnych.

Tablica adTypes powinna zawierać co najmniej jedną z tych stałych:

Wdrażanie przekazywania procesu wczytywania reklam

Moduł wczytywania reklam musi wdrożyć protokoły właściwe dla danego typu reklamy. W przypadku reklam natywnych protokół GADNativeAdLoaderDelegate zawiera wiadomość, która jest wysyłana 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 komunikat, który jest wysyłany do przedstawiciela 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 obiektu GADAdLoader wywołaj jego metodę loadRequest:, aby zażądać reklamy:

Swift

adLoader.load(GAMRequest())

Objective-C

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

Metoda loadRequest: w GADAdLoader akceptuje te same obiekty GAMRequest co banery i reklamy pełnoekranowe. Obiektów żądań możesz używać do dodawania informacji o kierowaniu, tak jak w przypadku innych typów reklam.

Określanie, kiedy wczytywanie się zakończy

Gdy aplikacja wywoła metodę loadRequest:, może uzyskać wyniki żądania za pomocą wywołań, aby:

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

Obsługa nieudanych żądań

Powyższe protokoły rozszerzają protokół GADAdLoaderDelegate, który definiuje 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 reklamy natywnej

Aby otrzymywać powiadomienia o zdarzeniach związanych z interakcjami z reklamą natywną, ustaw właściwość przekazywania reklamy natywnej:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

Następnie zaimplementuj GADNativeAdDelegate, aby odbierać te wywołania przekazywania:

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

Podczas wczytywania reklam przestrzegaj tych reguł.

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

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

  • Nie wywołuj identyfikatora loadRequest: ponownie na urządzeniu GADAdLoader, dopóki nie zakończy się wczytywanie poprzedniego żądania, jak wskazuje to adLoaderDidFinishLoading:.

Wyświetlanie reklamy

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