Native Anzeigen

Native Anzeigen sind Anzeigen-Assets, die Nutzern über Komponenten der Benutzeroberfläche sind plattformspezifisch. Native Anzeigen werden unter Verwendung der gleichen Ansichtstypen dargestellt, mit denen Sie bereits Ihre Layouts erstellen. Außerdem können sie so formatiert werden, dass sie mit dem visuellen Design Ihrer App übereinstimmen.

Beim Laden einer nativen Anzeige erhält Ihre App ein Anzeigenobjekt, das die zugehörigen Assets enthält. 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

Immer mit Testanzeigen testen

Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen.

Am einfachsten lassen sich Testanzeigen laden, wenn Sie die spezielle Test-Anzeigenblock-ID für native Anzeigen auf Android-Geräten verwenden:

/21775744923/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 der Klasse AdLoader geladen, die eine eigene Klasse Builder hat, mit der sie beim Erstellen angepasst werden kann. 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, "/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()

Die forNativeAd() ist für die Vorbereitung der AdLoader auf das NativeAd-Format zuständig. Wurde eine Anzeige geladen, gibt das onNativeAdLoaded()-Objekt des Listener-Objekts aufgerufen wird.

AdListener mit AdLoader einrichten (optional)

Beim Erstellen des AdLoader legt die Funktion withAdListener einen AdListener für den Lader fest. 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 die Methoden der AdManagerAdRequest-Klasse verwenden, um 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, "/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()

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() auf AdLoader 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.