Bei adaptiven Bannern können Sie die Breite einer Anzeige angeben, um die optimale Anzeigengröße für jedes Gerät zu bestimmen. Im Gegensatz zu verankerten adaptiven Bannern sind adaptive Inline-Banner größer und höher und haben keine feste Höhe. Die Höhe adaptiver Inline-Banner ist variabel. 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 scrollbaren Inhalten:
Hinweis
Bevor Sie fortfahren, müssen 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 adaptive Inline-Banner implementieren möchten, legen Sie die Anzeigengröße fest, erstellen eine Anzeigenanfrage und laden die Anzeige.
Um die Größe eines adaptiven Inline-Banners festzulegen, bestimmen Sie die Anzeigenbreite. Dabei gibt es verschiedene Möglichkeiten:
- Die gesamte Bildschirmbreite verwenden.
- Die Breite des übergeordneten Layouts verwenden, das die Anzeige enthält.
- Die Breite an die sicheren Bereiche des Geräts anpassen.
Verwenden Sie diese berechnete Breite, wenn Sie das Objekt für die Anzeigengröße erstellen.
Gehen Sie folgendermaßen vor:
Ermitteln Sie die Breite Ihres Geräts oder legen Sie eine Breite fest:
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); }Verwenden Sie eine statische Methode für die Klasse der Anzeigengröße, um ein Objekt für die Größe eines adaptiven Inline-Banners zu erhalten:
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()));
Legen Sie eine Anzeigengröße fest, die kleiner oder gleich der Bildschirmgröße des Geräts ist.
Verwenden Sie die
Resources.getDisplayMetrics
Methode, um die maximale Bildschirmgröße zu bestimmen. Die Abmessungen des AdSize-Objekts werden in dichteunabhängigen Pixeln (dp) angegeben. Wenn Sie die Bildschirmgröße vergleichen, müssen Sie sie von Pixeln in dp umwandeln.
Weitere Informationen zu Größenbeschränkungen finden Sie unter
Größenanforderungen für Anzeigenanfragen.
Layout für adaptive Inline-Banner festlegen
Verwenden Sie die folgenden Methoden, um eine adaptive Inline-Banneranzeige für ein bestimmtes Layout vorab zu laden:
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
eine adaptive Banneranzeige im aktuellen Layout vorab laden möchten, verwenden Sie die
AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width)
Methode.
Mit dieser Methode wird eine Anzeige im aktuellen Layout geladen.
Höhe adaptiver Inline-Banner begrenzen
Standardmäßig haben adaptive Inline-Banner, die ohne einen maxHeight-Wert erstellt wurden, eine maximale Höhe, die der Höhe des Geräts entspricht. Verwenden Sie die
AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)
Methode, um die Höhe adaptiver Inline
Banner zu begrenzen.