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 adaptiven Ankerbannern 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.
Ein vollständiges Beispiel für ein adaptives Inline-Banner finden Sie in der folgenden Beispiel-App:
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 sind folgende Ansätze üblich:
- Die gesamte Bildschirmbreite verwenden.
- Die Breite des übergeordneten Layouts verwenden, das die Anzeige enthält.
- Die Breite anpassen, um die sicheren Bereiche des Geräts zu berücksichtigen.
Verwenden Sie diese berechnete Breite, wenn Sie das Anzeigengrößenobjekt erstellen.
Gehen Sie folgendermaßen vor:
Rufen Sie die Breite Ihres Geräts ab 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 Anzeigengrößenklasse, um ein Objekt für die Größe eines adaptiven Inline-Banners abzurufen:
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()));
Layout für adaptive Inline-Banner festlegen
Verwenden Sie die folgenden Methoden, um eine adaptive Inline-Banneranzeige für ein bestimmtes Layout vorzuladen:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
Wenn Ihre App sowohl Hoch- als auch Querformat unterstützt und Sie
eine adaptive Banneranzeige im aktuellen Layout vorladen 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 Gerätehöhe entspricht. Verwenden Sie die
AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)
Methode, um die Höhe adaptiver Inline
Banner zu begrenzen.