Native Anzeigen sind Anzeigen-Assets, die Nutzern über Komponenten der Benutzeroberfläche sind plattformspezifisch. Sie werden unter Verwendung derselben Datenansichten mit mit dem Sie bereits Ihre Layouts erstellen, und können so formatiert werden, das visuelle Design der App.
Beim Laden einer nativen Anzeige erhält Ihre App ein Anzeigenobjekt mit den zugehörigen Assets. die App und nicht das Google Mobile Ads SDK, für die Anzeige verantwortlich.
Grundsätzlich gibt es zwei Schritte für die erfolgreiche Implementierung nativer Anzeigen: Laden einer Anzeige mithilfe des SDK und anschließendes Anzeigen des Anzeigeninhalts in Ihrer App
Auf dieser Seite erfahren Sie, wie Sie mit dem SDK native Anzeigen.
Vorbereitung
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen.
Am einfachsten lassen sich Testanzeigen mit unserer Testanzeigenblock-ID laden. für native Anzeigen auf Android-Geräten:
/6499/example/native
Sie ist speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Achten Sie nur darauf, Ersetzen Sie sie vor dem Veröffentlichen Ihrer App durch Ihre Anzeigenblock-ID.
Weitere Informationen zur Funktionsweise von Testanzeigen des Google Mobile Ads SDK finden Sie unter Testen Sie Anzeigen.
Anzeigen laden
Native Anzeigen werden mit dem
Klasse AdLoader
,
das eine eigene
Builder
, um sie bei der Erstellung anzupassen. Durch Hinzufügen von Hörern zu AdLoader
gibt eine App an, welche Arten von nativen Anzeigen
empfangen werden. AdLoader
fordert dann nur diese Typen an.
AdLoader erstellen
Im folgenden Codebeispiel wird gezeigt, wie Sie ein AdLoader
erstellen, das native Daten laden kann.
Anzeigen:
Java
AdLoader adLoader = new AdLoader.Builder(context, "/6499/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, "/6499/example/native")
.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()
Die
forNativeAd()
ist für die Vorbereitung der AdLoader
auf das NativeAd
-Format zuständig.
Wenn eine Anzeige erfolgreich geladen wurde, gibt das onNativeAdLoaded()
-Objekt des Listener-Objekts
aufgerufen wird.
AdListener mit AdLoader einrichten (optional)
Beim Erstellen der AdLoader
wird der
withAdListener
legt ein
AdListener
für den
loader. Die Methode verwendet nur einen AdListener
-Parameter, der
Callbacks von AdLoader
, wenn Lebenszyklusereignisse der Anzeige eintreten:
Java
.withAdListener(new AdListener() {
// AdListener callbacks can be overridden here.
})
Kotlin
.withAdListener(object : AdListener() {
// AdListener callbacks can be overridden here.
})
Anzeigenanfrage senden
Nachdem Sie ein AdLoader
erstellt haben, können Sie damit Anzeigen anfordern.
Verwenden Sie die Methode loadAd()
,
AdManagerAdRequest
als ersten Parameter festlegen. Das Gleiche
Die Klasse AdManagerAdRequest
wird von Bannern und Interstitials verwendet.
und Sie können mit den Methoden der AdManagerAdRequest
-Klasse
Ausrichtungsinformationen hinzufügen,
wie bei anderen Anzeigenformaten.
loadAd()
Mit dieser Methode wird eine Anfrage für eine einzelne Anzeige gesendet.
Java
adLoader.loadAd(new AdManagerAdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdManagerAdRequest.Builder().build())
Callbacks
Nach einem Aufruf von loadAd()
erfolgt ein einzelner Callback an das zuvor definierte
Listener-Methoden zum Ausliefern des nativen Anzeigenobjekts oder zum Melden eines Fehlers.
Ressourcen freigeben
Verwenden Sie bei geladenen nativen Anzeigen die Methode destroy()
. Diese Versionen
Ressourcen genutzt und
Speicherlecks verhindert.
Achten Sie darauf, dass alle NativeAd
-Referenzen im Dokument Ihrer Aktivität gelöscht werden
onDestroy()
-Methode.
Löschen Sie in Ihrem onNativeAdLoaded
-Callback alle vorhandenen
native Anzeigen, die dereferenziert werden.
Eine weitere Schlüsselprüfung ist, ob die Aktivität gelöscht wurde. Wenn ja, rufen Sie destroy()
auf
zurückgegebene Anzeige und kehren sofort zurück:
Java
final AdLoader adLoader = new AdLoader.Builder(this, "/6499/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, "/6499/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()
Best Practices
Halten Sie sich beim Laden von Anzeigen an die folgenden Regeln.
Apps, in denen native Anzeigen in einer Liste verwendet werden, sollten die Liste der Anzeigen vorab im Cache speichern.
Wenn Sie Anzeigen vorab im Cache speichern, leeren Sie Ihren Cache und laden Sie ihn nach einer Stunde neu.
loadAd()
aufAdLoader
erst am ersten Tag anrufen -Anfrage fertig geladen ist.
Hardwarebeschleunigung für Videoanzeigen
Damit Videoanzeigen erfolgreich in den Aufrufen nativer Anzeigen ausgeliefert werden, Hardware Beschleunigung muss aktiviert sein.
Die Hardwarebeschleunigung ist standardmäßig aktiviert, bei einigen Apps ist dies jedoch möglicherweise deaktivieren. Wenn dies auf deine App zutrifft, empfehlen wir, die Hardware zu aktivieren Beschleunigung für Aktivitätsklassen, in denen Anzeigen verwendet werden.
Hardwarebeschleunigung aktivieren
Wenn Ihre App mit aktivierter Hardwarebeschleunigung nicht richtig funktioniert
können Sie sie auch für individuelle Aktivitäten Zum Aktivieren oder
Hardwarebeschleunigung deaktivieren, mit dem Attribut android:hardwareAccelerated
für die
<application>
und
<activity>
Elemente in AndroidManifest.xml
enthalten. Im folgenden Beispiel wird Hardware aktiviert
Beschleunigung für die gesamte App, aber deaktiviert sie für eine Aktivität:
<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>
Sehen Sie sich die Hardwarebeschleunigung Leitfaden für finden Sie weitere Informationen zu Optionen zur Steuerung der Hardwarebeschleunigung. Hinweis dass die Hardwarebeschleunigung nicht für einzelne Anzeigenaufrufe aktiviert werden kann, Die Aktivität ist deaktiviert, daher muss die Aktivität selbst eine Hardwarebeschleunigung haben aktiviert.
Anzeige schalten
Nachdem Sie eine Anzeige geladen haben, müssen Sie sie nur noch für die Nutzer schalten. Dann sehen Sie sich unsere erweiterten nativen Anzeigen , um zu erfahren, wie das geht.