Bei adaptiven Bannern können Sie die Breite einer Anzeige angeben, um die optimale Anzeigengröße für jedes Gerät zu ermitteln. Anders als adaptive Ankerbanner sind adaptive Inline-Banner größer und höher und haben keine feste Höhe. Adaptive Inline-Banner haben eine variable Höhe. Diese Banner können den gesamten Bildschirm oder eine von Ihnen angegebene maximale Höhe einnehmen.
In diesem Leitfaden wird beschrieben, wie Sie adaptive Inline-Banner erstellen und die Bannergröße festlegen.
Das folgende Bild zeigt adaptive Inline-Banner in scrollbarem Content:
Hinweis
Bevor Sie fortfahren, sollten Sie Banneranzeigen einrichten.
Wenn Sie ein vollständiges Beispiel für ein adaptives Inline-Banner sehen möchten, laden Sie die folgende Beispiel-App herunter:
Adaptive Inline-Banner implementieren
Wenn Sie Inline-Adaptive Banner implementieren möchten, legen Sie die Anzeigengröße fest, erstellen Sie eine Anzeigenanfrage und laden Sie die Anzeige.
Um die Größe eines adaptiven Inline-Banners festzulegen, müssen Sie die Anzeigenbreite bestimmen. Gängige Ansätze sind:
- Die gesamte Bildschirmbreite wird genutzt.
- Die Breite des übergeordneten Layouts, das die Anzeige enthält.
- Die Breite wird an die Safe Areas des Geräts angepasst.
Verwenden Sie diese berechnete Breite, wenn Sie das Anzeigengrößenobjekt erstellen.
Gehen Sie folgendermaßen vor:
Breite des Geräts abrufen oder festlegen:
Kotlin
private val adWidth: Int get() { val displayMetrics = resources.displayMetrics val adWidthPixels = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics windowMetrics.bounds.width() } else { displayMetrics.widthPixels } val density = displayMetrics.density return (adWidthPixels / density).toInt() }Java
public int getAdWidth() { DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); int adWidthPixels = displayMetrics.widthPixels; if (VERSION.SDK_INT >= VERSION_CODES.R) { WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics(); adWidthPixels = windowMetrics.getBounds().width(); } float density = displayMetrics.density; return (int) (adWidthPixels / density); }Um ein Inline-Objekt für adaptive Anzeigengrößen abzurufen, verwenden Sie eine statische Methode für die Anzeigengrößenklasse:
Kotlin
val adView = AdView(this@MainActivity) adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))Java
final AdView adView = new AdView(MainActivity.this); adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));
Wenn Sie Werbebuchungen für adaptive Banner aktualisieren oder erstellen müssen, lesen Sie den Hilfeartikel Werbebuchungen für adaptive Banner einrichten.
Layout für adaptive Inline-Banner festlegen
Wenn Sie eine Inline-Anzeige mit adaptivem Banner für ein bestimmtes Layout vorab laden möchten, verwenden Sie die folgenden Methoden:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
Wenn Ihre App sowohl das Hoch- als auch das Querformat unterstützt und Sie ein adaptives Banner im aktuellen Layout vorab laden möchten, verwenden Sie die Methode AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width).
Mit dieser Methode wird eine Anzeige im aktuellen Layout geladen.
Höhe von adaptiven Inline-Bannern begrenzen
Standardmäßig haben adaptive Inline-Banner, die ohne maxHeight-Wert erstellt wurden, eine maximale Höhe, die der Gerätehöhe entspricht. Wenn Sie die Höhe des adaptiven Inline-Banners begrenzen möchten, verwenden Sie die Methode AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).