Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Reklamy natywne to zasoby reklam wyświetlane użytkownikom za pomocą komponentów interfejsu, które są natywne na platformie. Są one wyświetlane w tych samych typach widoków, w których tworzysz już układy, i mogą być sformatowane pod kątem wyglądu i sposobu obsługi interfejsu. W rozumieniu kodu oznacza to, że po załadowaniu reklamy natywnej aplikacja otrzymuje obiekt NativeAd zawierający swoje zasoby, a za wyświetlanie reklam odpowiada aplikacja (a nie pakiet SDK do reklam mobilnych Google).
Ogólnie rzecz biorąc, reklamy natywne składają się z 2 elementów: przesłania reklamy za pomocą pakietu SDK i wyświetlenia jej w aplikacji.
Ta strona dotyczy korzystania z pakietu SDK do wczytywaniareklam natywnych.
Reklamy natywne są ładowane za pomocą klasy AdLoader, która ma własną klasę Builder, aby dostosować ją podczas tworzenia. Dodając detektory do AdLoader podczas tworzenia, aplikacja określa typy reklam natywnych, które są gotowe do odbioru. Następnie AdLoader żąda tylko tych typów.
Tworzenie elementu AdLoader
Ten kod pokazuje, jak utworzyć AdLoader, który może wczytywać reklamy natywne:
Java
AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
// Show the ad.
}
})
.withAdListener(new AdListener() {
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Handle the failure by logging, altering the UI, and so on.
}
})
.withNativeAdOptions(new NativeAdOptions.Builder()
// Methods in the NativeAdOptions.Builder class can be
// used here to specify individual options settings.
.build())
.build();
Kotlin
val adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd { ad : NativeAd ->
// Show the ad.
}
.withAdListener(object : AdListener() {
override fun onAdFailedToLoad(adError: LoadAdError) {
// Handle the failure by logging, altering the UI, and so on.
}
})
.withNativeAdOptions(NativeAdOptions.Builder()
// Methods in the NativeAdOptions.Builder class can be
// used here to specify individual options settings.
.build())
.build()
Przygotowanie do formatu reklam natywnych
Pierwsza metoda odpowiada za przygotowanie AdLoader w formacie NativeAd:
Wywoływanie tej metody powoduje skonfigurowanie w żądaniu reklamy AdLoader żądania reklam natywnych. Po załadowaniu reklamy wywoływane jest metoda onNativeAdLoaded() detektora.
Gdy AdLoader wysyła żądanie reklamy, Google wybiera i zwraca reklamę, która maksymalizuje zysk wydawcy.
Konfigurowanie AdListener za pomocą AdLoader (opcjonalnie)
Podczas tworzenia powyższego obiektu AdLoader funkcja withAdListener ustawia AdListener. Ta metoda przyjmuje AdListener jako jedyny parametr, który odbiera wywołania zwrotne AdLoader w przypadku wystąpienia zdarzeń cyklu życia reklamy:
Java
.withAdListener(new AdListener() {
// AdListener callbacks can be overridden here.
})
Kotlin
.withAdListener(object : AdListener() {
// AdListener callbacks can be overridden here.
})
Wczytaj reklamy
Po zakończeniu tworzenia tagu AdLoader możesz go wykorzystać do wczytywania reklam.
Dostępne są 2 metody: loadAd() i loadAds().
loadAd()
Ta metoda wysyła żądanie pojedynczej reklamy.
:
Java
adLoader.loadAd(new AdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdRequest.Builder().build())
loadAds()
Ta metoda wysyła żądanie wielu reklam (maksymalnie 5):
:
Obie te metody zajmują obiekt AdRequest jako pierwszy parametr. Jest to ta sama klasa AdRequest, co w przypadku banerów i reklam pełnoekranowych. Za pomocą metod AdRequest możesz dodawać informacje o kierowaniu tak samo jak w przypadku innych formatów reklam.
loadAds() pobiera dodatkowy parametr: liczbę reklam, które pakiet SDK powinien spróbować wczytać dla żądania. Ich liczba jest ograniczona do 5 i nie ma gwarancji, że pakiet SDK zwróci dokładną liczbę żądanych reklam.
Zwrócone reklamy Google będą się różnić od siebie. Nie ma gwarancji, że reklamy od zarezerwowanych zasobów reklamowych lub kupujących zewnętrznych, w tym kupujących skonfigurowanych pod kątem zapośredniczenia kaskadowego lub określania stawek, nie są unikalne.
Wywołania zwrotne
Po wywołaniu loadAd() następuje wywołanie zwrotne do wcześniej zdefiniowanych metod słuchaczy, by dostarczyć obiekt reklamy natywnej lub zgłosić błąd.
Po wywołaniu elementu loadAds() jest wykonywanych wiele takich wywołań (co najmniej 1 i nie może być ich więcej). Aplikacje żądające wielu reklam powinny wywoływać metodę AdLoader.isLoading() w implementacjach wywołania zwrotnego, aby ustalić, czy proces wczytywania się zakończył.
Oto przykład sprawdzania właściwości isLoading() w wywołaniu zwrotnym onNativeAdLoaded():
Java
final AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
...
// some code that displays the ad.
...
if (adLoader.isLoading()) {
// The AdLoader is still loading ads.
// Expect more adLoaded or onAdFailedToLoad callbacks.
} else {
// The AdLoader has finished loading ads.
}
}
}).build();
adLoader.loadAds(new AdRequest.Builder().build(), 3);
Kotlin
lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd {
...
// some code that displays the ad.
...
if (adLoader.isLoading) {
// The AdLoader is still loading ads.
// Expect more adLoaded or onAdFailedToLoad callbacks.
} else {
// The AdLoader has finished loading ads.
}
}.build()
adLoader.loadAds(AdRequest.Builder().build(), 3)
Zwolnij zasoby
Pamiętaj, aby użyć metody destroy() w załadowanych reklamach natywnych. Dzięki temu zwolnisz wykorzystanie zasobów i zapobiegnie wyciekom pamięci.