Adaptacyjne banery reklamowe w tekście

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 i wyższe oraz nie mają stałej wysokości. Wbudowane banery adaptacyjne mają zmienną wysokość. Banery te mogą wypełniać cały ekran lub mieć określoną przez Ciebie maksymalną wysokość.

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

Ilustracja poniżej przedstawia śródtekstowe banery adaptacyjne w przewijanej treści:

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

Zanim zaczniesz

Zanim przejdziesz dalej, upewnij się, że masz skonfigurowane banery reklamowe.

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

Wdrażanie wbudowanych banerów adaptacyjnych

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

Aby określić rozmiar adaptacyjnego banera śródtekstowego, określ szerokość reklamy. Oto kilka typowych metod:

  • Używanie pełnej szerokości ekranu.
  • Używanie szerokości layoutu nadrzędnego zawierającego reklamę.
  • Dostosowywanie 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 loadInlineAdaptiveBannerAd(adView: AdView, activity: Activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val bannerWidth = 320
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth)
  val adRequest = BannerAdRequest.Builder(AD_UNIT_ID, adSize).build()

  adView.loadAd(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        Log.d(TAG, "Inline adaptive banner ad loaded.")
      }

      override fun onAdFailedToLoad(adError: LoadAdError) {
        Log.d(TAG, "Inline adaptive banner ad failed to load: $adError")
      }
    },
  )
}

Java

private void loadInlineAdaptiveBannerAd(@NonNull AdView adView, @NonNull Activity activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  int bannerWidth = 320;
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth);
  BannerAdRequest adRequest = new BannerAdRequest.Builder(AD_UNIT_ID, adSize).build();

  adView.loadAd(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd bannerAd) {
          Log.d(TAG, "Inline adaptive banner ad loaded.");
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          Log.d(TAG, "Inline adaptive banner ad failed to load: " + adError);
        }
      });
}

Zastąp AD_UNIT_ID identyfikatorem jednostki reklamowej.

Ustaw rozmiar reklamy mniejszy niż rozmiar ekranu urządzenia lub mu równy. Aby określić maksymalny rozmiar ekranu, użyj metody Resources.getDisplayMetrics. Wymiary obiektu AdSize są wyrażone w pikselach niezależnych od gęstości (dp). Podczas porównywania przekonwertuj rozmiar ekranu z pikseli na dp. Szczegółowe informacje o ograniczeniach rozmiaru znajdziesz w artykule Wymagania dotyczące rozmiaru żądania reklamy.

Ustawianie układu banera adaptacyjnego w tekście

Aby wstępnie wczytać wbudowany adaptacyjny baner reklamowy dla konkretnego układu, użyj tych metod:

Jeśli aplikacja obsługuje widok pionowy i poziomy, a chcesz wstępnie wczytać baner adaptacyjny 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ść wbudowanego banera adaptacyjnego, użyj metody AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).