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
- Zapoznaj się z przewodnikiem dla początkujących.
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:
adLoader:didFailToReceiveAdWithError:
w:GADAdLoaderDelegate
adLoader:didReceiveNativeAd:
w:GADNativeAdLoaderDelegate
Żą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ądzeniuGADAdLoader
, dopóki nie zakończy się wczytywanie poprzedniego żądania, jak wskazuje toadLoaderDidFinishLoading:
.
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.