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 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:

Diagramm mit den Unterschieden zwischen adaptiven Bannern und adaptiven Inline-Bannern

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.

Im folgenden Beispiel wird die Anzeigengröße festgelegt, eine Anzeigenanfrage erstellt und die Anzeige geladen:

Kotlin

private fun loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()

  // Step 2 - Load the ad.
  BannerAd.load(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        // Assign the loaded ad to the BannerAd object.
        bannerAd = ad
        // Step 3 - Call BannerAd.getView() to get the View and add it
        // to view hierarchy on the UI thread.
        activity?.runOnUiThread {
          binding.bannerViewContainer.addView(ad.getView(requireActivity()))
        }
      }

      override fun onAdFailedToLoad(loadAdError: LoadAdError) {
        bannerAd = null
      }
    }
  )
}

Java

private void loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
      adSize).build();

  // Step 2 - Load the ad.
  BannerAd.load(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd ad) {
          // Assign the loaded ad to the BannerAd object.
          bannerAd = ad;
          // Step 3 - Call BannerAd.getView() to get the View and add it
          // to view hierarchy on the UI thread.
          if (getActivity() != null) {
            getActivity()
                .runOnUiThread(() ->
                    binding.bannerViewContainer.addView(ad.getView(getActivity())));
          }
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          bannerAd = null;
        }
      });
}

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:

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).