Reklamy natywne to komponenty reklamy wyświetlane użytkownikom za pomocą komponentów interfejsu, które są unikalne dla platformy. Są wyświetlane w ramach tych samych typów widoków co które mają już układy i można je sformatować projektu wizualnego aplikacji.
Po wczytaniu reklamy natywnej aplikacja otrzymuje obiekt reklamy zawierający jej zasoby. a aplikacja – zamiast pakietu SDK do reklam mobilnych Google – jest odpowiedzialnej za ich wyświetlanie.
Ogólnie rzecz biorąc, skuteczne wdrożenie reklam natywnych składa się z 2 etapów: Wczytanie reklamy za pomocą pakietu SDK, a następnie wyświetlenie jej treści w aplikacji.
Na tej stronie dowiesz się, jak wczytać pakiet SDK reklam natywnych. Wskazówka: więcej informacji o reklamach natywnych znajdziesz w artykule Reklamy natywne Poradnik.
Możesz również zapoznać się z historiami sukcesu klientów: studium przypadku 1. studium przypadku 2.
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 reklam, aktywne reklamy.
Najłatwiejszym sposobem wczytania reklam testowych jest użycie naszego dedykowanego testowego identyfikatora jednostki reklamowej w przypadku reklam natywnych na Androida:
ca-app-pub-3940256099942544/2247696110
Został on specjalnie skonfigurowany tak, aby wyświetlać reklamy testowe w odpowiedzi na każde żądanie. Możesz używać go we własnych aplikacjach podczas kodowania, testowania i debugowania. Upewnij się tylko, zastąp go identyfikatorem jednostki reklamowej przed opublikowaniem aplikacji.
Więcej informacji o działaniu reklam testowych w pakiecie SDK do reklam mobilnych Google znajdziesz na stronie Reklamy testowe.
Wczytywanie reklam
Reklamy natywne są wczytywane z parametrem
AdLoader
zajęcia,
który ma swoje własne
Builder
klasy, aby dostosować ją podczas tworzenia. Dodając detektorów do: AdLoader
to podczas tworzenia aplikacji określa, jakie typy reklam natywnych jest gotowa do wyświetlenia.
i odbieraj informacje. AdLoader
żąda potem wyłącznie tych typów.
Tworzenie modułu AdLoader
Ten kod pokazuje, jak utworzyć AdLoader
, który może wczytywać reklamy natywne.
reklamy:
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.
}
})
.withNativeAdOptions(NativeAdOptions.Builder()
// Methods in the NativeAdOptions.Builder class can be
// used here to specify individual options settings.
.build())
.build()
forNativeAd()
odpowiada za przygotowanie AdLoader
na format NativeAd
.
Po pomyślnym wczytaniu reklamy parametr onNativeAdLoaded()
obiektu odbiornika
.
Konfigurowanie AdListener z użyciem AdLoader (opcjonalnie)
Podczas tworzenia AdLoader
para klucz-wartość
withAdListener
.
funkcja ustawia
AdListener
dla
. Metoda przyjmuje jako jedyny parametr obiekt AdListener
, który odbiera wywołania zwrotne z obiektu AdLoader
, gdy występują zdarzenia cyklu życia reklamy:
Java
.withAdListener(new AdListener() {
// AdListener callbacks can be overridden here.
})
Kotlin
.withAdListener(object : AdListener() {
// AdListener callbacks can be overridden here.
})
Wyślij żądanie
Po zakończeniu tworzenia elementu AdLoader
czas wykorzystać go do wysyłania żądań reklam.
Są 2 dostępne 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):
Java
adLoader.loadAds(new AdRequest.Builder().build(), 3);
Kotlin
adLoader.loadAds(AdRequest.Builder().build(), 3)
Obie metody
AdRequest
jako pierwszego parametru. Nie ma żadnej
AdRequest
klasa używana przez banery i reklamy pełnoekranowe,
i możesz użyć metod klasy AdRequest
do
dodaj informacje o kierowaniu, tak jak
niż w przypadku innych formatów reklam.
Wczytywanie wielu reklam (opcjonalnie)
Metoda loadAds()
pobiera dodatkowy parametr – liczbę reklam pakiet SDK
powinno spróbować wczytać to żądanie. Ta liczba jest ograniczona do pięciu i oznacza
nie ma gwarancji, że pakiet SDK zwróci dokładną liczbę żądanych reklam.
Wyświetlone reklamy Google różnią się od siebie, chociaż reklamy zarezerwowane zasoby reklamowe lub zewnętrznych kupujących nie muszą być unikalne.
Nie używaj metody loadAds()
, jeśli korzystasz z zapośredniczenia, ponieważ żądania dotyczące
nie działa obecnie dla identyfikatorów jednostek reklamowych, które zostały
skonfigurowane pod kątem zapośredniczenia.
Wywołania zwrotne
Po wywołaniu loadAd()
wykonywane jest pojedyncze wywołanie zwrotne do wcześniej zdefiniowanego
metod detektora, aby wyświetlić obiekt reklamy natywnej lub zgłosić błąd.
Po wywołaniu loadAds()
wykonywane jest kilka takich wywołań (przynajmniej jedno,
i nie więcej niż liczba żądanych reklam). Aplikacje żądające wielu reklam
powinien wywołać AdLoader.isLoading()
w swoich implementacjach wywołań zwrotnych, aby
czy proces wczytywania już się zakończył.
Oto przykład, jak sprawdzić, czy isLoading()
w:
onNativeAdLoaded()
wywołanie zwrotne:
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)
Zwalnianie zasobów
Pamiętaj, by w przypadku wczytanych reklam natywnych używać metody destroy()
. To wydanie
wykorzystane zasoby i zapobiegają wyciekom pamięci.
Sprawdź, czy wszystkie odwołania do NativeAd
zostały zniszczone w pliku aktywności
Metoda onDestroy()
.
W wywołaniu zwrotnym onNativeAdLoaded
pamiętaj, aby zniszczyć istniejące
reklam natywnych, które zostaną usunięte.
Innym sposobem sprawdzenia klucza jest to, czy aktywność została zniszczona, a jeśli tak, wywołaj destroy()
na
wyświetli się reklama i natychmiast powróci:
Java
final AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
// If this callback occurs after the activity is destroyed, you
// must call destroy and return or you may get a memory leak.
// Note `isDestroyed()` is a method on Activity.
if (isDestroyed()) {
nativeAd.destroy();
return;
}
...
}
}).build();
Kotlin
lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forNativeAd { nativeAd ->
// If this callback occurs after the activity is destroyed, you
// must call destroy and return or you may get a memory leak.
// Note `isDestroyed` is a method on Activity.
if (isDestroyed) {
nativeAd.destroy()
return@forNativeAd
}
...
}.build()
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 dzwoń do:
loadAd()
aniloadAds()
,AdLoader
do pierwszego gdy zakończy się wczytywanie żądania.
Akceleracja sprzętowa reklam wideo
Aby reklamy wideo wyświetlały się w wyświetleniach reklam natywnych, sprzęt acceleration musi być włączony.
Akceleracja sprzętowa jest domyślnie włączona, ale niektóre aplikacje mogą możesz ją wyłączyć. Jeśli dotyczy to Twojej aplikacji, zalecamy włączenie sprzętu dla klas aktywności, które korzystają z reklam.
Włączam akcelerację sprzętową
Jeśli aplikacja nie działa prawidłowo po włączeniu akceleracji sprzętowej
na całym świecie, możesz ją kontrolować również w przypadku poszczególnych działań. Aby włączyć lub
wyłącz akcelerację sprzętową, użyj atrybutu android:hardwareAccelerated
dla wartości
<application>
.
oraz
<activity>
elementów w: AndroidManifest.xml
. Poniższy przykład umożliwia włączenie sprzętu
akceleracja dla całej aplikacji, ale wyłącza ją w przypadku jednej operacji:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
Zobacz przyspieszenie sprzętowe przewodnika po znajdziesz więcej informacji na temat opcji sterowania akceleracją sprzętową. Notatka że w poszczególnych wyświetleniach reklamy nie można włączyć akceleracji sprzętowej, jeśli Aktywność jest wyłączona, więc musi mieć akcelerację sprzętową .
Wyświetlanie reklamy
Po załadowaniu reklamy pozostaje już tylko ją wyświetlić użytkownikom. Przejdź do naszych zaawansowanych reklam natywnych , aby dowiedzieć się, jak to zrobić.