بنرهای تطبیقی به شما امکان میدهند عرض یک تبلیغ را مشخص کنید تا اندازه بهینه تبلیغ برای هر دستگاه تعیین شود. برخلاف بنرهای تطبیقی لنگری، بنرهای تطبیقی درونخطی بزرگتر و بلندتر هستند و از ارتفاع ثابتی استفاده نمیکنند. بنرهای تطبیقی درونخطی ارتفاع متغیری دارند. این بنرها ممکن است کل صفحه یا حداکثر ارتفاعی را که شما تعیین میکنید، پر کنند.
این راهنما، ایجاد بنرهای تطبیقی درونخطی و تنظیم اندازه بنر را پوشش میدهد.
تصویر زیر بنرهای تطبیقی درونخطی را در محتوای پیمایشی نشان میدهد:

قبل از اینکه شروع کنی
قبل از ادامه، مطمئن شوید که تبلیغات بنری را تنظیم کردهاید .
برای مشاهده یک نمونه کامل از بنر تطبیقی درونخطی، برنامه نمونه زیر را دانلود کنید:
بنرهای تطبیقی درون خطی را پیادهسازی کنید
برای پیادهسازی بنرهای تطبیقی درونخطی، اندازه تبلیغ را تنظیم میکنید، یک درخواست تبلیغ ایجاد میکنید و تبلیغ را بارگذاری میکنید.
برای تعیین اندازه یک بنر تطبیقی درون خطی، عرض تبلیغ را تعیین کنید. رویکردهای رایج شامل موارد زیر است:
- استفاده از عرض تمام صفحه.
- با استفاده از عرض طرح والد حاوی تبلیغ.
- تنظیم عرض برای در نظر گرفتن مناطق امن دستگاه.
هنگام ایجاد شیء اندازه تبلیغ، از این عرض محاسبهشده استفاده کنید.
مراحل زیر را انجام دهید:
عرض دستگاه خود را دریافت کنید، یا عرضی را تنظیم کنید:
کاتلین
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() }جاوا
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); }برای دریافت یک شیء با اندازه تبلیغ تطبیقی درونخطی، از یک متد استاتیک در کلاس اندازه تبلیغ استفاده کنید:
کاتلین
val adView = AdView(this@MainActivity) adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))جاوا
final AdView adView = new AdView(MainActivity.this); adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));
طرح بنر تطبیقی درون خطی را تنظیم کنید
برای پیش بارگذاری یک بنر تبلیغاتی تطبیقی درونخطی برای یک طرحبندی خاص، از روشهای زیر استفاده کنید:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
اگر برنامه شما از حالتهای عمودی و افقی پشتیبانی میکند، و میخواهید یک بنر تبلیغاتی تطبیقی را در طرحبندی فعلی از قبل بارگذاری کنید، از متد AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) استفاده کنید. این متد یک تبلیغ را در طرحبندی فعلی بارگذاری میکند.
محدود کردن ارتفاع بنر تطبیقی درون خطی
به طور پیشفرض، بنرهای تطبیقی درونخطی که بدون مقدار maxHeight ایجاد میشوند، حداکثر ارتفاعی برابر با ارتفاع دستگاه دارند. برای محدود کردن ارتفاع بنر تطبیقی درونخطی، از متد AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) استفاده کنید.