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