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

قبل از اینکه شروع کنی
قبل از ادامه، مطمئن شوید که تبلیغات بنری را تنظیم کردهاید .
برای مشاهده یک نمونه کامل از بنر تطبیقی درونخطی، برنامه نمونه زیر را دانلود کنید:
بنرهای تطبیقی درون خطی را پیادهسازی کنید
برای پیادهسازی بنرهای تطبیقی درونخطی، اندازه تبلیغ را تنظیم میکنید، یک درخواست تبلیغ ایجاد میکنید و تبلیغ را بارگذاری میکنید.
برای تعیین اندازه یک بنر تطبیقی درون خطی، عرض تبلیغ را تعیین کنید. رویکردهای رایج شامل موارد زیر است:
- استفاده از عرض تمام صفحه.
- با استفاده از عرض طرح والد حاوی تبلیغ.
- تنظیم عرض برای در نظر گرفتن مناطق امن دستگاه.
هنگام ایجاد شیء اندازه تبلیغ، از این عرض محاسبهشده استفاده کنید.
مثال زیر اندازه تبلیغ را تنظیم میکند، یک درخواست تبلیغ ایجاد میکند و تبلیغ را بارگذاری میکند:
کاتلین
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
}
}
)
}
جاوا
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;
}
});
}
طرح بنر تطبیقی درون خطی را تنظیم کنید
برای پیش بارگذاری یک بنر تبلیغاتی تطبیقی درونخطی برای یک طرحبندی خاص، از روشهای زیر استفاده کنید:
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) استفاده کنید.