Adaptive Inline-Banner für scrollende Banner verwenden

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 festen Höhen. Adaptive Inline-Banner haben eine variable Höhe. Diese Banner können den gesamten Bildschirm oder eine von Ihnen angegebene maximale Höhe ausfüllen.

In diesem Leitfaden wird beschrieben, wie Sie adaptive Inline-Banner erstellen und die Bannergröße festlegen.

Die folgende Abbildung zeigt adaptive Inline-Banner in scrollbaren Inhalten:

Diagramm, das die Unterschiede zwischen adaptiven Bannern und adaptiven Inline-Bannern zeigt

Hinweis

Bevor Sie fortfahren, müssen Sie Banneranzeigen einrichten.

Wenn Sie sich ein vollständiges Beispiel für ein adaptives Inline-Banner ansehen 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.

Wenn Sie die Größe eines adaptiven Inline-Banners festlegen möchten, müssen Sie die Anzeigenbreite bestimmen. Zu den gängigen Ansätzen gehören:

  • Verwendung der gesamten Bildschirmbreite.
  • Die Breite des übergeordneten Layouts, das die Anzeige enthält, wird verwendet.
  • Anpassen der Breite, um die sicheren Bereiche des Geräts zu berücksichtigen.

Verwenden Sie diese berechnete Breite, wenn Sie das Objekt für die Anzeigengröße erstellen.

Gehen Sie folgendermaßen vor:

  1. 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);
    }
    
  2. Verwenden Sie eine statische Methode für die Anzeigengrößenklasse, um ein Objekt für die Größe einer adaptiven Inline-Anzeige 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()));

Legen Sie eine Anzeigengröße fest, die kleiner oder gleich der Bildschirmgröße des Geräts ist. Verwenden Sie die Methode Resources.getDisplayMetrics, um die maximale Bildschirmgröße zu ermitteln. Für die Abmessungen des AdSize-Objekts werden dichteunabhängige Pixel (dp) verwendet. Rechnen Sie die Bildschirmgröße beim Vergleichen von Pixel in dp um. Weitere Informationen zu Größenbeschränkungen finden Sie unter Fehlerbehebung bei nicht erzielten Impressionen in Ad Manager.

Wenn Sie Werbebuchungen für adaptive Banner aktualisieren oder erstellen müssen, finden Sie weitere Informationen unter Werbebuchungen für adaptive Banner einrichten.

Layout für adaptives Inline-Banner festlegen

Verwenden Sie die folgenden Methoden, um eine adaptive Inline-Banneranzeige für ein bestimmtes Layout vorab zu laden:

Wenn Ihre App das Hoch- und Querformat unterstützt und Sie eine adaptive Banneranzeige 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 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. Wenn Sie die Höhe des adaptiven Inline-Banners begrenzen möchten, verwenden Sie die Methode AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).