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

Uyarlanabilir banner'lar, her cihaz için en uygun reklam boyutunu belirlemek üzere bir reklamın 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, kayan 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 ayarlarsınız, bir reklam isteği oluşturursunuz ve reklamı yüklersiniz.

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

  • Tam ekran genişliğini kullanma.
  • Reklamı içeren üst yerleşimin genişliğini kullanma.
  • Cihaz güvenli alanlarını hesaba katmak için genişliği ayarlama.

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

Aşağıdaki adımları tamamlayın:

  1. Cihazınızın genişliğini öğrenin veya genişlik ayarlayın:

    Kotlin

    private val adWidth: Int
      get() {
        val displayMetrics = resources.displayMetrics
        val adWidthPixels =
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics
            windowMetrics.bounds.width()
          } else {
            displayMetrics.widthPixels
          }
        val density = displayMetrics.density
        return (adWidthPixels / density).toInt()
      }
    

    Java

    public int getAdWidth() {
      DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
      int adWidthPixels = displayMetrics.widthPixels;
    
      if (VERSION.SDK_INT >= VERSION_CODES.R) {
        WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics();
        adWidthPixels = windowMetrics.getBounds().width();
      }
    
      float density = displayMetrics.density;
      return (int) (adWidthPixels / density);
    }
    
  2. Satır içi uyarlanabilir reklam boyutu nesnesi almak için reklam boyutu sınıfında statik bir yöntem kullanın:

    Kotlin

    val adView = AdView(this@MainActivity)
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))

    Java

    final AdView adView = new AdView(MainActivity.this);
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));

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 pikselleri (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 Reklam isteği boyutu koşulları başlıklı makaleyi inceleyin.

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 hem dikey hem de yatay görünümleri destekliyorsa ve mevcut düzende uyarlanabilir bir 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.