تبلیغات بومی دارای بسیاری از ویژگیهای پیشرفته هستند که به شما امکان میدهند سفارشیسازیهای بیشتری انجام دهید و بهترین تجربه تبلیغات ممکن را داشته باشید. این راهنما به شما نشان می دهد که چگونه از ویژگی های پیشرفته تبلیغات بومی استفاده کنید.
پیش نیازها
- قالب تبلیغات بومی را ادغام کنید.
کنترل دارایی ها
کنترلهای نسبت ابعاد رسانه ترجیحی
کنترلهای نسبت ابعاد رسانه به شما این امکان را میدهد که ترجیحی برای نسبت ابعاد آگهیهای خلاقانه تعیین کنید.
GADNativeAdMediaAdLoaderOptions mediaAspectRatio
با GADMediaAspectRatio
تنظیم کنید.
وقتی تنظیم نشود، آگهی برگشتی میتواند هر نسبت ابعادی رسانهای داشته باشد.
در صورت تنظیم، میتوانید با تعیین نوع ترجیحی نسبت ابعاد، تجربه کاربری را بهبود ببخشید.
مثال زیر به SDK دستور می دهد که تصویر یا ویدیوی برگشتی را با نسبت ابعادی خاص ترجیح دهد.
GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
کنترل دانلود تصویر
کنترل دانلود تصویر به شما امکان می دهد تصمیم بگیرید که دارایی های تصویر یا فقط URI ها توسط SDK برگردانده شوند.
GADNativeAdImageAdLoaderOptions disableImageLoading
با مقدار BOOL
تنظیم کنید.کنترل دانلود تصویر به طور پیش فرض غیرفعال است.
وقتی غیرفعال است، Google Mobile Ads SDK هم تصویر و هم URI را برای شما پر می کند.
هنگامی که فعال است، SDK در عوض فقط URI را پر می کند و به شما امکان می دهد تصاویر واقعی را به صلاحدید خود دانلود کنید.
مثال زیر به SDK دستور می دهد که فقط URI را برگرداند.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.disableImageLoading = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
کنترل های محموله تصویر
برخی از تبلیغات دارای یک سری تصاویر هستند نه فقط یک. از این ویژگی برای نشان دادن اینکه آیا برنامه شما آماده نمایش همه تصاویر است یا فقط یک عکس استفاده کنید.
GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages
با مقدار BOOL
تنظیم کنید.کنترلهای بارگذاری تصویر بهطور پیشفرض غیرفعال هستند.
وقتی غیرفعال است، برنامه شما به SDK دستور میدهد که فقط اولین تصویر را برای هر دارایی حاوی یک سری ارائه دهد.
وقتی فعال باشد، برنامه شما نشان میدهد که آماده است تا تمام تصاویر را برای هر دارایی که بیش از یک دارد نمایش دهد.
مثال زیر به SDK دستور می دهد چندین دارایی تصویر را برگرداند.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.shouldRequestMultipleImages = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
قرار دادن AdChoices
کنترل های موقعیت AdChoices
کنترلهای موقعیت AdChoices به شما امکان میدهد انتخاب کنید که کدام گوشه نماد AdChoices را ارائه کنید.
GADNativeAdViewAdOptions preferredAdChoicesPosition
با مقدار GADAdChoicesPosition
تنظیم کنید.
اگر تنظیم نشود، موقعیت نماد AdChoices در سمت راست بالا تنظیم می شود.
در صورت تنظیم، AdChoices بر اساس درخواست در موقعیت سفارشی قرار می گیرد.
مثال زیر نحوه تنظیم موقعیت تصویر سفارشی AdChoices را نشان می دهد.
GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopLeftCorner;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
نمای سفارشی AdChoices
ویژگی مشاهده سفارشی AdChoices به شما امکان می دهد نماد AdChoices را در یک مکان سفارشی قرار دهید. این با کنترل های موقعیت AdChoices متفاوت است، که فقط اجازه می دهد تا یکی از چهار گوشه را مشخص کنید.
قبل از رندر، ویژگی GADNativeAd.adChoicesView
را با یک GADAdChoicesView
تنظیم کنید و محتوای AdChoices در داخل GADAdChoicesView
ارائه شود.
مثال زیر نحوه تنظیم نمای AdChoices سفارشی را نشان می دهد. نماد AdChoices در داخل GADAdChoicesView
نمایش داده می شود.
هدف-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
...
GADAdChoicesView *customAdChoicesView =
[[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];
[nativeAdView addSubview:customAdChoicesView];
nativeAdView.adChoicesView = customAdChoicesView;
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
سویفت
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
refreshAdButton.isEnabled = true
...
// Define a custom position for the AdChoices icon.
let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
let customAdChoicesView = GADAdChoicesView(frame: customRect)
nativeAdView.addSubview(customAdChoicesView)
nativeAdView.adChoicesView = customAdChoicesView
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
کنترل های ویدئویی
رفتار بی صدا را شروع کنید
رفتار بیصدا شروع به شما امکان میدهد صدای شروع ویدیو را غیرفعال یا فعال کنید.
GADVideoOptions startMuted
با مقدار BOOL
تنظیم کنید.رفتار خاموش شروع به طور پیش فرض فعال است.
وقتی غیرفعال است، برنامه شما درخواست میکند که ویدیو با صدا شروع شود.
وقتی فعال است، برنامه شما درخواست میکند که ویدیو باید با صدای بیصدا شروع شود.
مثال زیر نشان میدهد که چگونه میتوان ویدیو را با صدای بیصدا شروع کرد.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.startMuted = NO;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
کنترل های پخش سفارشی
این به شما امکان میدهد برای پخش، توقف یا بیصدا کردن ویدیو، کنترلهای ورودی ویدیوی سفارشی را درخواست کنید.
GADVideoOptions customControlsRequested
با مقدار BOOL
تنظیم کنید.کنترل پخش سفارشی به طور پیش فرض غیرفعال است.
وقتی غیرفعال باشد، ویدیوی شما کنترلهای ورودی ارائه شده از SDK را نشان میدهد.
- وقتی فعال است، میتوانید از
GADVideoController play
،GADVideoController pause
وGADVideoController setMute
برای کنترل آگهی ویدیویی استفاده کنید.
- اگر آگهی دارای محتوای ویدیویی است و کنترلهای سفارشی فعال هستند، باید کنترلهای سفارشی خود را همراه با آگهی نمایش دهید، زیرا خود آگهی هیچ کنترلی را نشان نمیدهد. سپس کنترل ها می توانند متدهای مربوطه را در
GADVideoController
فراخوانی کنند.
مثال زیر نحوه درخواست یک ویدیو با کنترل های پخش سفارشی را نشان می دهد.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.customControlsRequested = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
بررسی کنید که آیا کنترل های سفارشی فعال هستند یا خیر
از آنجایی که در زمان درخواست مشخص نیست که آیا آگهی بازگردانده شده اجازه کنترل ویدیوی سفارشی را میدهد یا خیر، باید بررسی کنید که آیا کنترلهای سفارشی فعال است یا خیر.
هدف-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd*)nativeAd {
GADVideoController *videoController = nativeAd.mediaContent.videoController;
BOOL canShowCustomControls = videoController.customControlsEnabled;
}
سویفت
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
let videoController = nativeAd.mediaContent.videoController
let canShowCustomControls = videoController?.customControlsEnabled() == true
}
رندر کنترل های ویدئویی سفارشی
کنترل های ویدئویی سفارشی را با استفاده از بهترین شیوه های زیر ارائه دهید:
- نمای کنترلهای سفارشی را بهعنوان فرزند نمای آگهی بومی ارائه کنید. این رویکرد تضمین میکند که محاسبات قابلیت نمایش اندازهگیری باز، کنترلهای سفارشی را به عنوان یک مانع دوستانه در نظر میگیرند.
- از ارائه یک پوشش نامرئی بر روی کل نمای رسانه خودداری کنید. همپوشانیها، کلیکها را روی نمای رسانه مسدود میکنند و بر عملکرد تبلیغات بومی تأثیر منفی میگذارند. در عوض، یک روکش کوچک ایجاد کنید که به اندازه کافی بزرگ باشد تا کنترل ها را در خود جای دهد.
حرکات کلیک سفارشی
حرکات کلیک سفارشی یک ویژگی تبلیغاتی بومی است که امکان ثبت تند کشیدن روی بازدیدهای تبلیغاتی را به عنوان کلیک تبلیغاتی فراهم میکند. این برای کار با برنامههایی طراحی شده است که از حرکات کشیدن انگشت برای پیمایش محتوا استفاده میکنند. این راهنما نشان می دهد که چگونه می توان حرکات کلیک سفارشی را روی تبلیغات بومی خود فعال کرد.
یک نمونه GADNativeAdCustomClickGestureOptions
را با جهت کش رفتن انتخابی خود راه اندازی کنید. همچنین باید مشخص کنید که آیا می خواهید ضربه زدن به عنوان کلیک مجاز باشد یا خیر.
حرکات کلیک سفارشی به طور پیش فرض غیرفعال است.
وقتی غیرفعال است، فقط ضربه ها به عنوان کلیک حساب می شوند.
وقتی فعال باشد، حرکات کشیدن انگشت به عنوان کلیک شمارش میشوند و میتوانید تعیین کنید که آیا ضربهها همچنان میتوانند به عنوان کلیک حساب شوند یا خیر.
مثال زیر به شما نشان می دهد که چگونه یک حرکت تند کشیدن سفارشی را به سمت راست پیاده سازی کنید و رفتار ضربه زدن عادی را حفظ می کند.
GADNativeAdCustomClickGestureOptions *swipeGestureOptions = [[GADNativeAdCustomClickGestureOptions alloc]
initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
tapsAllowed:YES];
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ swipeGestureOptions ]];
به رویدادهای ژست کشیدن انگشت گوش دهید
هنگامی که یک کلیک حرکتی تند کشیدن ضبط میشود، Google Mobile Ads SDK روش nativeAdDidRecordSwipeGestureClick:
delegate را در GADNativeAdDelegate
، علاوه بر روش موجود nativeAdDidRecordClick:
delegate فرا میخواند.
#pragma mark - GADNativeAdDelegate implementation
// Called when a swipe gesture click is recorded.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click has occurred.");
}
// Called when a swipe gesture click or a tap click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click or tap click has occurred.");
}
میانجیگری
حرکات کلیک سفارشی فقط روی تبلیغات بومی که Google Mobile Ads SDK ارائه میکند، کار میکند. منابع تبلیغاتی که برای ارائه به SDK های شخص ثالث نیاز دارند ، به تنظیمات سفارشی جهت کلیک پاسخ نمی دهند.