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
- Wykonaj czynności opisane w przewodniku dla początkujących.
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ń:
adLoader:didFailToReceiveAdWithError:
w:GADAdLoaderDelegate
adLoader:didReceiveNativeAd:
w:GADNativeAdLoaderDelegate
Żą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 metodzieGADAdLoader
, dopóki nie zakończy się wczytywanie poprzedniego żądania, tak jak wskazujeadLoaderDidFinishLoading:
.
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.