آگهیهای بومی ویژگیهای پیشرفته زیادی دارند که به شما امکان میدهند سفارشیسازیهای بیشتری انجام دهید و بهترین تجربه آگهی ممکن را ایجاد کنید. این راهنما به شما نشان میدهد چگونه از ویژگیهای پیشرفته آگهیهای بومی استفاده کنید.
پیشنیازها
- قالب آگهی بومی را ادغام کنید.
کنترلهای دارایی
این بخش جزئیات نحوه سفارشیسازی داراییهای طرحآگهی را در آگهیهای بومی شرح میدهد. میتوانید نسبت ابعادی ترجیحی را برای داراییهای رسانهای و نحوه بارگیری و نمایش داراییهای تصویری مشخص کنید.
کنترلهای نسبت ابعادی رسانه ترجیحی
«کنترلهای نسبت ابعادی رسانه» به شما امکان میدهد اولویت خود را برای نسبت ابعادی طرحآگهیها مشخص کنید.
تماس با NativeAdRequest.Builder.setMediaAspectRatio()
با مقدار
NativeAd.NativeMediaAspectRatio.
وقتی تنظیم نشده باشد، آگهی برگرداندهشده میتواند هر نسبت ابعادی رسانهای داشته باشد.
وقتی تنظیم شود، میتوانید با مشخص کردن نوع ترجیحی نسبت ابعادی، تجربه کاربری را بهبود ببخشید.
مثال زیر به کیت توسعه نرمافزار دستور میدهد که تصویر یا ویدیو برگشتی با نسبت ابعادی خاصی را ترجیح دهد.
Kotlin
val adRequest = NativeAdRequest.Builder(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build()
جاوا
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
List.of(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
کنترل بارگیری تصویر
کنترل بارگیری تصویر به شما امکان میدهد تصمیم بگیرید که آیا داراییهای تصویری یا فقط URIها توسط کیت توسعه نرمافزار برگردانده شوند.
با NativeAdRequest.Builder.disableImageDownloading() تماس بگیرید.
کنترل بارگیری تصویر بهطور پیشفرض غیرفعال است.
وقتی غیرفعال باشد، GMA Next-Gen SDK هم تصویر و هم شناسه منبع یکسان را برای شما درج میکند.
وقتی فعال باشد، کیت توسعه نرمافزار بهجای آن فقط شناسه منبع یکسان را پر میکند و به شما امکان میدهد تصاویر واقعی را به صلاحدید خودتان بارگیری کنید.
مثال زیر به کیت توسعه نرمافزار دستور میدهد که فقط شناسه منبع یکسان را برگرداند.
Kotlin
val adRequest = NativeAdRequest.Builder(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.disableImageDownloading()
.build()
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Get the image uri.
val imageUri = nativeAd.image?.uri
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
جاوا
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
List.of(NativeAd.NativeAdType.NATIVE))
.disableImageDownloading()
.build();
NativeAdLoaderCallback adLoaderCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Get the image uri.
Uri imageUri = nativeAd.getImage().getUri();
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
کنترلهای پایهبار تصویر
برخی آگهیها بهجای یک تصویر، مجموعهای از تصاویر دارند. از این ویژگی برای نشان دادن اینکه برنامهتان برای نمایش همه تصاویر آماده است یا فقط یک تصویر استفاده کنید.
کنترلهای بار داده تصویر بهطور پیشفرض غیرفعال است.
وقتی غیرفعال باشد، برنامهتان به کیت توسعه نرمافزار دستور میدهد فقط اولین تصویر را برای هر داراییای که حاوی یک سری است ارائه دهد.
وقتی فعال باشد، برنامهتان نشان میدهد که آماده است همه تصاویر را برای هر داراییای که بیشاز یک تصویر دارد نمایش دهد.
مثال زیر به کیت توسعه نرمافزار دستور میدهد تا چند دارایی تصویری را برگرداند.
جایگاههای AdChoices
این بخش نحوه قرار دادن همپوشانی AdChoices را شرح میدهد. میتوانید جای آن را در یکی از چهار گوشه تنظیم کنید یا آن را در نمای سفارشی ارائه دهید.
کنترلهای موقعیت AdChoices
کنترلهای موقعیت AdChoices به شما امکان میدهد انتخاب کنید نماد AdChoices در کدام گوشه ارائه شود.
تماس با NativeAdRequest.Builder.setAdChoicesPlacement()
با مقدار
NativeAdRequest.AdChoicesPlacement.
اگر تنظیم نشده باشد، موقعیت نماد AdChoices در بالا سمت چپ تنظیم میشود.
اگر تنظیم شده باشد، AdChoices در جایگاه سفارشی درخواستشده قرار میگیرد.
مثال زیر نحوه تنظیم موقعیت تصویر AdChoices سفارشی را نشان میدهد.
Kotlin
val adRequest = NativeAdRequest.Builder(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
جاوا
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
List.of(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
نمای سفارشی AdChoices
ویژگی نمای سفارشی AdChoices به شما امکان میدهد نماد AdChoices را در مکانی سفارشی قرار دهید. این با کنترلهای موقعیت AdChoices متفاوت است که فقط امکان تعیین یکی از چهار گوشه را فراهم میکند.
با NativeAdView.setAdChoicesView()
بهارزش AdChoicesView تماس بگیرید.
مثال زیر نشان میدهد که چگونه میتوان یک نمای AdChoices سفارشی تنظیم کرد، با
نماد AdChoices که درون AdChoicesView رندر شده است.
Kotlin
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val nativeAdView = NativeAdView(applicationContext)
val adChoicesView = AdChoicesView(this)
nativeAdView.adChoicesView = adChoicesView
}
جاوا
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
کنترلهای ویدیو
این بخش نحوه سفارشیسازی تجربه بازپخش برای آگهیهای ویدیویی را شرح میدهد. میتوانید وضعیت بیصدا کردن اولیه را تنظیم کنید و کنترلهای بازپخش سفارشی را پیادهسازی کنید.
شروع رفتار بیصدا کردن
رفتار شروع بیصدا به شما امکان میدهد صدای شروع ویدیو را غیرفعال یا فعال کنید.
VideoOptions.Builder.setStartMuted() را با مقدار boolean فراخوانی کنید و NativeAdOptions.Builder.setVideoOptions() را فراخوانی کنید.
رفتار شروع بیصدا بهطور پیشفرض فعال است.
وقتی غیرفعال باشد، برنامه شما درخواست میکند که ویدیو با صدا شروع شود.
وقتی فعال باشد، برنامه شما درخواست میکند که ویدیو با صدای صامت شروع شود.
مثال زیر نشان میدهد که چگونه ویدیو را با صدای باصدا شروع کنید.
Kotlin
val videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
val adRequest = NativeAdRequest.Builder(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
جاوا
VideoOptions videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
کنترلهای بازپخش سفارشی
این به شما امکان میدهد کنترلهای ورودی ویدیو سفارشی را برای پخش، مکث، یا بیصدا کردن ویدیو درخواست کنید.
برای تنظیم وضعیت بیصدای شروع آگهیها، VideoOptions.Builder.setCustomControlsRequested() را فراخوانی کنید.
کنترل بازپخش سفارشی بهطور پیشفرض غیرفعال است.
وقتی غیرفعال باشد، ویدیو شما کنترلهای ورودی ارائهشده توسط کیت توسعه نرمافزار را نشان خواهد داد.
اگر آگهی محتوای ویدیویی داشته باشد و کنترلهای سفارشی فعال باشد، باید کنترلهای سفارشیتان را همراه با آگهی نمایش دهید، زیرا آگهی هیچ کنترلی را بهتنهایی نشان نخواهد داد. سپس کنترلها میتوانند روشهای مربوطه را در
VideoOptions.Builder.setCustomControlsRequested().
مثال زیر نشان میدهد که چگونه میتوان ویدیویی با کنترلهای بازپخش سفارشی درخواست کرد.
Kotlin
val videoOptions: VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
val adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
جاوا
VideoOptions VideoOptions = VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
بررسی کنید کنترلهای سفارشی فعال باشد
چون در زمان درخواست مشخص نیست که آگهی برگرداندهشده اجازه کنترلهای ویدیویی سفارشی را میدهد یا نه، باید بررسی کنید که آیا کنترلهای سفارشی آن فعال است یا نه.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val mediaContent = nativeAd.mediaContent;
if (mediaContent != null) {
val videoController = mediaContent.videoController;
val canShowCustomControls = videoController?.isCustomControlsEnabled();
}
}
};
جاوا
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
if (videoController != null) {
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
}
};
پرداز زدن کنترلهای ویدیو سفارشی
کنترلهای ویدیو سفارشی را بااستفاده از روالهای مطلوب زیر ارائه دهید:
- نمای کنترلهای سفارشی را بهعنوان فرزند نمای آگهی بومی ارائه دهید. این رویکرد به محاسبات رؤیتپذیری اندازهگیری باز اجازه میدهد تا کنترلهای سفارشی را بهعنوان مانع دوستانه درنظر بگیرد.
- از رندر کردن رونهاد نامرئی روی کل نمای رسانه خودداری کنید. رونهادها کلیکها را در نمای رسانه مسدود میکنند و تأثیر منفی بر عملکرد آگهیهای بومی میگذارند. بهجای آن، همپوشانی کوچکی ایجاد کنید که فقط بهاندازه کافی بزرگ باشد تا کنترلها در آن جا شوند.
اشارههای کلیک سفارشی
اشارههای کلیک سفارشی یکی از ویژگیهای آگهیهای بومی است که به شما امکان میدهد تند کشیدنها روی نماهای آگهی را بهعنوان کلیک آگهی ثبت کنید. این ویژگی با برنامههایی کار میکند که از اشارههای تند کشیدن برای پیمایش محتوا استفاده میکنند. این راهنما به شما نشان میدهد که چگونه اشارههای کلیک سفارشی را در آگهیهای بومی خود فعال کنید.
فراخوانی NativeAdRequest.Builder.enableCustomClickGestureDirection()
با NativeAd.SwipeGestureDirection
و مقدار boolean.
اشارههای کلیک سفارشی بهطور پیشفرض غیرفعال است.
وقتی غیرفعال باشد، برنامهتان از رفتار کلیک عادی پشتیبانی میکند.
وقتی فعال باشد، برنامهتان از اشارههای تند کشیدن سفارشی پشتیبانی میکند.
مثال زیر اشاره تند کشیدن سفارشی به راست را پیادهسازی میکند و رفتار ضربه زدن عادی را حفظ میکند.
Kotlin
جاوا
گوش دادن به رویدادهای اشاره تند کشیدن
برای گوش دادن به رویدادهای اشاره تند کشیدن، NativeAd.setAdEventCallback() را با NativeAdEventCallback فراخوانی کنید و روش onAdSwipeGestureClicked() را پیادهسازی کنید.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Implement the onAdSwipeGestureClicked() method.
val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
override fun onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
}
}
}
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback)
جاوا
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Implement the onAdSwipeGestureClicked() method.
NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
@Override
public void onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
};
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback);
میانجیگری
اشارههای کلیک سفارشی فقط در آگهیهای بومیای کار میکند که کیت توسعه نرمافزار Google Mobile Ads ارائه میکند. منابع آگهی که برای ارائه به کیتهای توسعه نرمافزار طرف سوم نیاز دارند، به تنظیمات جهتهای کلیک سفارشی پاسخ نمیدهند.