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 kaplayabilir.
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:
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.
- 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ı uygulayın:
Cihazınızın genişliğini öğrenin veya bir 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); }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 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:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
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.