Banneranzeigen sind rechteckige Anzeigen, die einen Teil der App-Oberfläche einnehmen. Sie bleiben auf dem Bildschirm, während die Nutzer mit der App interagieren. am oberen oder unteren Rand des Bildschirms oder inline mit dem Content, wenn der Nutzer scrollt. Banneranzeige Anzeigen können nach einer bestimmten Zeit automatisch aktualisiert werden. Siehe Übersicht über Banneranzeigen .
In diesem Leitfaden erhalten Sie eine Einführung in die Verwendung von verankerten adaptiven Bannern. Anzeigen, Die Leistung wird maximiert, indem die Anzeigengröße für jedes Gerät eine von Ihnen festgelegte Anzeigenbreite.
Verankerte adaptive Banneranzeigen sind Anzeigen mit festem Seitenverhältnis und nicht reguläre fester Größe. Das Seitenverhältnis entspricht dem Branchenstandard 320 x 50. Einmal die verfügbare volle Breite angeben, wird eine Anzeige mit der optimalen Höhe für diese Breite auswählen. Die optimale Höhe ändert sich bei den Anfragen von Gerät und die umgebenden Ansichten müssen sich nicht bewegen, wenn die Anzeige aktualisiert wird.
Vorbereitung
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Die einfachste Methode zum Laden von Testanzeigen ist die Verwendung unserer speziellen Test-Anzeigenblock-ID für Android-Banner:
ca-app-pub-3940256099942544/9214589741
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 Mobile Ads SDK finden Sie unter Test Anzeigen:
AdView zum Layout hinzufügen
Der erste Schritt zur Auslieferung eines Banners besteht darin, AdView
zu platzieren.
im Layout für Activity
oder Fragment
aus, in dem Sie anzeigen möchten.
es:
Java
private AdSize getAdSize() {
// Determine the screen width (less decorations) to use for the ad width.
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
float density = outMetrics.density;
float adWidthPixels = adContainerView.getWidth();
// If the ad hasn't been laid out, default to the full screen width.
if (adWidthPixels == 0) {
adWidthPixels = outMetrics.widthPixels;
}
int adWidth = (int) (adWidthPixels / density);
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
}
private void loadBanner() {
// Create a new ad view.
AdView adView = new AdView(this);
adView.setAdSizes(getAdSize());
adView.setAdUnitId("ca-app-pub-3940256099942544/9214589741");
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
Kotlin
// Determine the screen width (less decorations) to use for the ad width.
// If the ad hasn't been laid out, default to the full screen width.
private val adSize: AdSize
get() {
val display = windowManager.defaultDisplay
val outMetrics = DisplayMetrics()
display.getMetrics(outMetrics)
val density = outMetrics.density
var adWidthPixels = binding.adViewContainer.width.toFloat()
if (adWidthPixels == 0f) {
adWidthPixels = outMetrics.widthPixels.toFloat()
}
val adWidth = (adWidthPixels / density).toInt()
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
}
private fun loadBanner() {
// Create a new ad view.
val adView = AdView(this)
adView.adSizes = adSize
adView.adUnitId = "ca-app-pub-3940256099942544/9214589741"
// Create an ad request.
val adRequest = AdRequest.Builder().build()
// Start loading the ad in the background.
adView.loadAd(adRequest)
}
Anzeige laden
Sobald AdView eingerichtet ist, müssen Sie im nächsten Schritt
um eine Anzeige zu laden. Das geschieht mit der loadAd()
.
in der Klasse AdView
. Sie brauchen eine AdRequest
mit Laufzeitinformationen wie Targeting-Informationen zu einem
für eine einzelne Anzeigenanfrage.
Das folgende Beispiel zeigt, wie eine Anzeige in der onCreate()
-Methode einer
Activity
:
Java
private void loadBanner() {
// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
Kotlin
private fun loadBanner() {
// This is an ad unit ID for a test ad. Replace with your own banner ad unit ID.
adView.adUnitId = "/6499/example/banner"
adView.setAdSize(adSize)
// Create an ad request.
val adRequest = AdRequest.Builder().build()
// Start loading the ad in the background.
adView.loadAd(adRequest)
}
Falls Ihre Anzeige nicht geladen werden kann, müssen Sie keine weitere Voraussetzung ist, dass Sie den Anzeigenblock für die Aktualisierung konfiguriert haben. Google Mobile Ads SDK die Aktualisierungsrate, die Sie in der AdMob- . Wenn Sie die Aktualisierung nicht aktiviert haben, müssen Sie eine neue
Fertig! In Ihrer App können jetzt Banneranzeigen ausgeliefert werden.
Anzeigenereignisse
Sie können auf verschiedene Ereignisse im Lebenszyklus der Anzeige warten, z. B. das Laden, Anzeigenimpression und -klick sowie Start- und Schließereignisse von Anzeigen. Es wird empfohlen, um den Callback festzulegen, bevor das Banner geladen wird.Java
AdView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
AdView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
Alle überschreibbaren Methoden in
AdListener
einem Ereignis im Lebenszyklus einer Anzeige entspricht.
Überschreibbare Methoden | |
---|---|
onAdClicked() |
Die onAdClicked()
wird aufgerufen, wenn ein Klick für eine Anzeige erfasst wird.
|
onAdClosed() |
Die onAdClosed()
wird aufgerufen, wenn ein Nutzer nach dem Ansehen eines
Ziel-URL Deine App kann damit angehaltene Aktivitäten fortsetzen oder
alle anderen Arbeiten ausführen, die notwendig sind, um sich für die Interaktion vorzubereiten.
In der AdMob-Hilfe
Beispiel für AdListener für die Implementierung der Anzeigen-Listener-Methoden in der
Android API Demo App
|
onAdFailedToLoad() |
Die onAdFailedToLoad()
ist die einzige, die einen -Parameter enthält. Fehlerparameter des Typs
LoadAdError beschreibt, welcher Fehler aufgetreten ist. Weitere Informationen
finden Sie unter Fehler beim Laden von Anzeigen beheben
Dokumentation.
|
onAdImpression() |
Die onAdImpression()
wird aufgerufen, wenn eine Impression für eine Anzeige erfasst wird.
|
onAdLoaded() |
Die onAdLoaded()
wird ausgeführt, wenn das Laden einer Anzeige abgeschlossen ist. Wenn Sie
AdView hinzufügen
zu Ihrer Aktivität oder Ihrem Fragment hinzufügen, bis Sie sicher sind, dass eine Anzeige geladen wird,
können Sie das hier tun.
|
onAdOpened() |
Die onAdOpened()
wird aufgerufen, wenn eine Anzeige ein Overlay öffnet, das den Bildschirm abdeckt.
|
Hardwarebeschleunigung für Videoanzeigen
Damit Videoanzeigen erfolgreich in Ihren Ansichten für Banneranzeigen erscheinen, benötigen Sie Hardware für Beschleunigung aktiviert sein.
Die Hardwarebeschleunigung ist standardmäßig aktiviert, wird bei einigen Apps aber möglicherweise deaktiviert
. Wenn das auf deine App zutrifft, empfehlen wir, die Hardwarebeschleunigung für
Activity
-Klassen, die Anzeigen verwenden.
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, kannst du die android:hardwareAccelerated
verwenden
für das Attribut
<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>
Weitere Informationen findest du im Artikel Hardwarebeschleunigung für weitere Informationen Informationen zu Optionen zur Steuerung der Hardwarebeschleunigung Beachten Sie, dass für einzelne Anzeigenaufrufe nicht für die Hardwarebeschleunigung aktiviert werden, ist deaktiviert, sodass für die Aktivität selbst die Hardwarebeschleunigung aktiviert sein muss.
Zusätzliche Ressourcen
Beispiele auf GitHub
Nächste Schritte
Minimierbare Banner
Minimierbare Banneranzeigen sind Banneranzeigen, die anfänglich als größere Overlay mit einer Schaltfläche zum Minimieren der Anzeige auf eine kleinere Größe. Erwägen Sie die Verwendung um die Leistung weiter zu optimieren. Weitere Informationen finden Sie unter Minimierbare Banneranzeigen.
Adaptive Inline-Banner
Adaptive Inline-Banner sind im Vergleich zu verankerten adaptiven Bannern größer und höher. Banner. Sie haben eine variable Höhe und können so hoch wie der Gerätebildschirm sein. Adaptive Inline-Banner werden gegenüber verankerten adaptiven Banneranzeigen empfohlen, Apps, die Banneranzeigen in scrollbaren Inhalten platzieren Siehe Inline-Adaptive Details.