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