Kaydırılan banner'lar için satır içi uyarlanabilir banner kullanma

Uyarlanabilir banner'lar, her cihaz için optimum reklam boyutunu belirlemek üzere reklam genişliğini belirtmenize olanak tanır. Sabit uyarlanabilir banner'ların aksine satır içi uyarlanabilir banner'lar daha büyük ve daha uzundur, ayrıca sabit yükseklikler kullanmaz. Satır içi uyarlanabilir banner'ların yüksekliği değişkendir. Bu banner'lar ekranın tamamını veya belirttiğiniz maksimum yüksekliği doldurabilir.

Bu kılavuzda, satır içi uyarlanabilir banner'lar oluşturma ve banner boyutunu ayarlama konuları ele alınmaktadır.

Aşağıdaki resimde, kaydırılabilir içerikteki satır içi uyarlanabilir banner'lar gösterilmektedir:

Uyarlanabilir ve satır içi uyarlanabilir banner'lar arasındaki farkları gösteren şema

Başlamadan önce

Devam etmeden önce banner reklamları ayarladığınızdan emin olun.

Satır içi uyarlanabilir banner örneğinin tamamını görüntülemek için aşağıdaki örnek uygulamayı indirin:

Satır içi uyarlanabilir banner'ları uygulama

Satır içi uyarlanabilir banner'ları uygulamak için reklam boyutunu ayarlar, bir reklam isteği oluşturur ve reklamı yüklersiniz.

Satır içi uyarlanabilir banner'ı boyutlandırmak için reklam genişliğini belirleyin. Yaygın yaklaşımlar şunlardır:

  • Tam ekran genişliğini kullanma
  • Reklamı içeren üst yerleşimin genişliğini kullanır.
  • Genişlik, cihazın güvenli alanlarına göre ayarlanıyor.

Reklam boyutu nesnesini oluştururken bu hesaplanan genişliği kullanın.

Aşağıdaki örnekte reklam boyutu ayarlanır, bir reklam isteği oluşturulur ve reklam yüklenir:

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

Cihaz ekranı boyutundan küçük veya ona eşit bir reklam boyutu ayarlayın. Maksimum ekran boyutunu belirlemek için Resources.getDisplayMetrics yöntemini kullanın. AdSize nesne boyutları, yoğunluktan bağımsız pikseller (dp) kullanır. Karşılaştırma yaparken ekran boyutunu pikselden dp'ye dönüştürün. Boyut kısıtlamaları hakkında ayrıntılı bilgi için Ad Manager'da doldurulmayan gösterimlerle ilgili sorunları giderme başlıklı makaleyi inceleyin.

Uyarlanabilir banner'ları kullanmak için satır öğelerini güncellemeniz veya oluşturmanız gerekiyorsa Uyarlanabilir banner'lar için satır öğelerini ayarlama bölümüne bakın.

Satır içi uyarlanabilir banner düzenini ayarlama

Belirli bir düzen için satır içi uyarlanabilir banner reklamı önceden yüklemek istiyorsanız aşağıdaki yöntemleri kullanın:

Uygulamanız dikey ve yatay görünümleri destekliyorsa ve mevcut düzende uyarlanabilir banner reklamı önceden yüklemek istiyorsanız AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) yöntemini kullanın. Bu yöntem, mevcut düzene bir reklam yükler.

Satır içi uyarlanabilir banner yüksekliğini sınırlama

Varsayılan olarak, maxHeight değeri olmadan oluşturulan satır içi uyarlanabilir banner'ların maksimum yüksekliği cihaz yüksekliğine eşittir. Satır içi uyarlanabilir banner yüksekliğini sınırlamak için AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) yöntemini kullanın.