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

Banery adaptacyjne umożliwiają określenie szerokości 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. Wbudowane banery adaptacyjne mają zmienną wysokość. Banery te mogą zajmować cały ekran lub mieć maksymalną wysokość określoną przez Ciebie.

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

Ilustracja poniżej przedstawia adaptacyjne banery śródtekstowe w przewijanych treściach:

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

Zanim zaczniesz

Zanim przejdziesz dalej, skonfiguruj banery reklamowe.

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

Wdrażanie banerów adaptacyjnych w tekście

Aby wdrożyć banery adaptacyjne śródtekstowe, musisz ustawić rozmiar reklamy, utworzyć żądanie reklamy i wczytać reklamę.

Aby określić rozmiar śródtekstowego banera adaptacyjnego, ustal szerokość reklamy. Typowe podejścia obejmują:

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

Podczas tworzenia obiektu rozmiaru reklamy użyj 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 chcesz 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 w tekście

Aby wstępnie wczytać wbudowany adaptacyjny baner reklamowy w określonym układzie, użyj tych metod:

Jeśli Twoja aplikacja obsługuje widok pionowy i poziomy, a 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 w tekście

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