Używanie wbudowanych banerów adaptacyjnych w przypadku banerów przewijanych

Banery adaptacyjne pozwalają określić szerokość reklamy, aby ustalić optymalny rozmiar reklamy na każdym urządzeniu. W przeciwieństwie do zakotwiczonych banerów adaptacyjnych banery adaptacyjne śródtekstowe są większe, wyższe i nie mają stałej wysokości. Banery adaptacyjne śródtekstowe mają zmienną wysokość. Te banery mogą zajmować cały ekran lub maksymalną wysokość określoną przez Ciebie.

Z tego przewodnika dowiesz się, jak tworzyć banery adaptacyjne śródtekstowe i ustawiać ich rozmiar.

Na ilustracji poniżej widać banery adaptacyjne śródtekstowe w treściach, które można przewijać:

Diagram pokazujący różnice między banerami adaptacyjnymi a wbudowanymi banerami adaptacyjnymi

Zanim zaczniesz

Zanim przejdziesz dalej, upewnij się, że skonfigurujesz reklamy banerowe.

Aby zobaczyć pełny przykład banera adaptacyjnego śródtekstowego, pobierz tę przykładową aplikację:

Implementowanie banerów adaptacyjnych śródtekstowych

Aby zaimplementować banery adaptacyjne śródtekstowe, ustaw rozmiar reklamy, utwórz żądanie reklamy i wczytaj reklamę.

Aby określić rozmiar banera adaptacyjnego śródtekstowego, ustal szerokość reklamy. Najczęstsze podejścia:

  • Użycie pełnej szerokości ekranu.
  • Użycie szerokości layoutu nadrzędnego zawierającego reklamę.
  • Dostosowanie szerokości do bezpiecznych obszarów urządzenia.

Podczas tworzenia obiektu rozmiaru reklamy użyj tej obliczonej szerokości.

W tym przykładzie ustawiamy rozmiar reklamy, tworzymy żądanie reklamy i wczytujemy reklamę:

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;
        }
      });
}

Jeśli musisz zaktualizować lub utworzyć elementy zamówienia, aby używać banerów adaptacyjnych, przeczytaj artykuł Konfigurowanie elementów zamówienia na potrzeby banerów adaptacyjnych.

Ustawianie układu banera adaptacyjnego śródtekstowego

Aby wstępnie wczytać reklamę w postaci banera adaptacyjnego śródtekstowego w określonym układzie, użyj tych metod:

Jeśli Twoja aplikacja obsługuje widok pionowy i poziomy oraz chcesz wstępnie wczytać reklamę w postaci banera adaptacyjnego w bieżącym układzie, użyj metody AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width). Ta metoda wczytuje reklamę w bieżącym układzie.

Ograniczanie wysokości banera adaptacyjnego śródtekstowego

Domyślnie banery adaptacyjne śródtekstowe utworzone bez wartości maxHeight mają maksymalną wysokość równą wysokości urządzenia. Aby ograniczyć wysokość banera adaptacyjnego śródtekstowego, użyj AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) metody.