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.
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:
/21775744923/example/native
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.
Wczytaj reklamy
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, "/21775744923/example/native")
.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, "/21775744923/example/native}")
.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 parametr AdListener
, który otrzymuje parametr
wywołania zwrotne z AdLoader
, gdy zachodzą 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.
Użyj metody loadAd()
, która wymaga
AdManagerAdRequest
.
jako pierwszego parametru. Nie ma żadnej
AdManagerAdRequest
klasa używana przez banery i reklamy pełnoekranowe,
i możesz użyć metod klasy AdManagerAdRequest
do
dodaj informacje o kierowaniu, tak jak
niż w przypadku innych formatów reklam.
loadAd()
Ta metoda wysyła żądanie pojedynczej reklamy.
Java
adLoader.loadAd(new AdManagerAdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdManagerAdRequest.Builder().build())
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.
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, "/21775744923/example/native")
.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, "/21775744923/example/native")
.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()
z urządzeniaAdLoader
do pierwszej 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ętu 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ć.