تنظیم ویژگی‌های بومی پیشرفته

پلاتفرم را انتخاب کنید: Android iOS Android (قدیمی)

آگهی‌های بومی ویژگی‌های پیشرفته زیادی دارند که به شما امکان می‌دهند سفارشی‌سازی‌های بیشتری انجام دهید و بهترین تجربه آگهی ممکن را ایجاد کنید. این راهنما به شما نشان می‌دهد چگونه از ویژگی‌های پیشرفته آگهی‌های بومی استفاده کنید.

پیش‌نیازها

کنترل‌های دارایی

این بخش جزئیات نحوه سفارشی‌سازی دارایی‌های طرح‌آگهی را در آگهی‌های بومی شرح می‌دهد. می‌توانید نسبت ابعادی ترجیحی را برای دارایی‌های رسانه‌ای و نحوه بارگیری و نمایش دارایی‌های تصویری مشخص کنید.

کنترل‌های نسبت ابعادی رسانه ترجیحی

«کنترل‌های نسبت ابعادی رسانه» به شما امکان می‌دهد اولویت خود را برای نسبت ابعادی طرح‌آگهی‌ها مشخص کنید.

GADNativeAdMediaAdLoaderOptions mediaAspectRatio را با GADMediaAspectRatio تنظیم کنید.

  • وقتی تنظیم نشده باشد، آگهی برگردانده‌شده می‌تواند هر نسبت ابعادی رسانه‌ای داشته باشد.

  • وقتی تنظیم شود، می‌توانید با مشخص کردن نوع ترجیحی نسبت ابعادی، تجربه کاربری را بهبود ببخشید.

مثال زیر به کیت توسعه نرم‌افزار دستور می‌دهد که تصویر یا ویدیو برگشتی با نسبت ابعادی خاصی را ترجیح دهد.

Swift

let nativeOptions = NativeAdMediaAdLoaderOptions()
nativeOptions.mediaAspectRatio = .any

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

آبجکتیو-سی

GADNativeAdMediaAdLoaderOptions *nativeOptions = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOptions.mediaAspectRatio = GADMediaAspectRatioAny;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

nativeAdUnitID را با شناسه واحد آگهی‌تان جایگزین کنید.

کنترل بارگیری تصویر

کنترل بارگیری تصویر به شما امکان می‌دهد تصمیم بگیرید که آیا دارایی‌های تصویری یا فقط URIها توسط کیت توسعه نرم‌افزار برگردانده شوند.

GADNativeAdImageAdLoaderOptions disableImageLoading را با مقدار BOOL تنظیم کنید.

  • کنترل بارگیری تصویر به‌طور پیش‌فرض غیرفعال است.

  • وقتی غیرفعال باشد، Google Mobile Ads SDK هم تصویر و هم شناسه منبع یکسان را برای شما درج می‌کند.

  • وقتی فعال باشد، کیت توسعه نرم‌افزار به‌جای آن فقط شناسه منبع یکسان را پر می‌کند و به شما امکان می‌دهد تصاویر واقعی را به صلاحدید خودتان بارگیری کنید.

مثال زیر به کیت توسعه نرم‌افزار دستور می‌دهد که فقط شناسه منبع یکسان را برگرداند.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

آبجکتیو-سی

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.disableImageLoading = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

کنترل‌های پایه‌بار تصویر

برخی آگهی‌ها به‌جای یک تصویر، مجموعه‌ای از تصاویر دارند. از این ویژگی برای نشان دادن اینکه برنامه‌تان برای نمایش همه تصاویر آماده است یا فقط یک تصویر استفاده کنید.

  • کنترل‌های بار داده تصویر به‌طور پیش‌فرض غیرفعال است.

  • وقتی غیرفعال باشد، برنامه‌تان به کیت توسعه نرم‌افزار دستور می‌دهد فقط اولین تصویر را برای هر دارایی‌ای که حاوی یک سری است ارائه دهد.

  • وقتی فعال باشد، برنامه‌تان نشان می‌دهد که آماده است همه تصاویر را برای هر دارایی‌ای که بیش‌از یک تصویر دارد نمایش دهد.

مثال زیر به کیت توسعه نرم‌افزار دستور می‌دهد تا چند دارایی تصویری را برگرداند.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

آبجکتیو-سی

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.shouldRequestMultipleImages = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

جایگاه‌های AdChoices

این بخش نحوه قرار دادن هم‌پوشانی AdChoices را شرح می‌دهد. می‌توانید جای آن را در یکی از چهار گوشه تنظیم کنید یا آن را در نمای سفارشی ارائه دهید.

کنترل‌های موقعیت AdChoices

کنترل‌های موقعیت AdChoices به شما امکان می‌دهد انتخاب کنید نماد AdChoices در کدام گوشه ارائه شود.

GADNativeAdViewAdOptions preferredAdChoicesPosition را با مقدار GADAdChoicesPosition تنظیم کنید.

  • اگر تنظیم نشده باشد، موقعیت نماد AdChoices در بالا سمت چپ تنظیم می‌شود.

  • اگر تنظیم شده باشد، AdChoices در جایگاه سفارشی درخواست‌شده قرار می‌گیرد.

مثال زیر نحوه تنظیم موقعیت تصویر AdChoices سفارشی را نشان می‌دهد.

Swift

let nativeOptions = NativeAdViewAdOptions()
nativeOptions.preferredAdChoicesPosition = .topRightCorner

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

آبجکتیو-سی

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

نمای سفارشی AdChoices

ویژگی نمای سفارشی AdChoices به شما امکان می‌دهد نماد AdChoices را در مکانی سفارشی قرار دهید. این با کنترل‌های موقعیت AdChoices متفاوت است که فقط امکان تعیین یکی از چهار گوشه را فراهم می‌کند.

پیش‌از ارائه، ویژگی GADNativeAd.adChoicesView را با GADAdChoicesView تنظیم کنید و محتوای AdChoices در GADAdChoicesView ارائه می‌شود.

مثال زیر نحوه تنظیم نمای AdChoices سفارشی را نشان می‌دهد. نماد AdChoices در GADAdChoicesView ارائه می‌شود:

Swift

private func createAdChoicesView(nativeAdView: NativeAdView) {
  // Define a custom position for the AdChoices icon.
  let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
  let customAdChoicesView = AdChoicesView(frame: customRect)
  nativeAdView.addSubview(customAdChoicesView)
  nativeAdView.adChoicesView = customAdChoicesView
}

آبجکتیو-سی

- (void)createAdChoicesViewWithNativeAdView:(GADNativeAdView *)nativeAdView {
  // Define a custom position for the AdChoices icon.
  CGRect customRect = CGRectMake(100, 100, 15, 15);
  GADAdChoicesView *customAdChoicesView = [[GADAdChoicesView alloc] initWithFrame:customRect];
  [nativeAdView addSubview:customAdChoicesView];
  nativeAdView.adChoicesView = customAdChoicesView;
}

کنترل‌های ویدیو

این بخش نحوه سفارشی‌سازی تجربه بازپخش برای آگهی‌های ویدیویی را شرح می‌دهد. می‌توانید وضعیت بی‌صدا کردن اولیه را تنظیم کنید و کنترل‌های بازپخش سفارشی را پیاده‌سازی کنید.

شروع رفتار بی‌صدا کردن

رفتار شروع بی‌صدا به شما امکان می‌دهد صدای شروع ویدیو را غیرفعال یا فعال کنید.

GADVideoOptions startMuted را با مقدار BOOL تنظیم کنید.

  • رفتار شروع بی‌صدا به‌طور پیش‌فرض فعال است.

  • وقتی غیرفعال باشد، برنامه شما درخواست می‌کند که ویدیو با صدا شروع شود.

  • وقتی فعال باشد، برنامه شما درخواست می‌کند که ویدیو با صدای صامت شروع شود.

مثال زیر نشان می‌دهد که چگونه ویدیو را با صدای باصدا شروع کنید.

Swift

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

آبجکتیو-سی

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.startMuted = NO;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

کنترل‌های بازپخش سفارشی

این به شما امکان می‌دهد کنترل‌های ورودی ویدیو سفارشی را برای پخش، مکث، یا بی‌صدا کردن ویدیو درخواست کنید.

GADVideoOptions customControlsRequested را با مقدار BOOL تنظیم کنید.

  • کنترل بازپخش سفارشی به‌طور پیش‌فرض غیرفعال است.

  • وقتی غیرفعال باشد، ویدیو شما کنترل‌های ورودی ارائه‌شده توسط کیت توسعه نرم‌افزار را نشان خواهد داد.

اگر آگهی محتوای ویدیویی داشته باشد و کنترل‌های سفارشی فعال باشد، باید کنترل‌های سفارشی‌تان را همراه با آگهی نمایش دهید، زیرا آگهی هیچ کنترلی را به‌تنهایی نشان نخواهد داد. سپس کنترل‌ها می‌توانند روش‌های مربوطه را در

GADVideoController.

مثال زیر نشان می‌دهد که چگونه می‌توان ویدیویی با کنترل‌های بازپخش سفارشی درخواست کرد.

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

آبجکتیو-سی

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.customControlsRequested = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

بررسی کنید کنترل‌های سفارشی فعال باشد

چون در زمان درخواست مشخص نیست که آگهی برگردانده‌شده اجازه کنترل‌های ویدیویی سفارشی را می‌دهد یا نه، باید بررسی کنید که آیا کنترل‌های سفارشی آن فعال است یا نه.

Swift

private func checkCustomControlsEnabled(nativeAd: NativeAd) -> Bool {
  let videoController = nativeAd.mediaContent.videoController
  return videoController.areCustomControlsEnabled
}

آبجکتیو-سی

- (BOOL)checkCustomControlsEnabledWithNativeAd:(GADNativeAd *)nativeAd {
  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  return videoController.customControlsEnabled;
}

پرداز زدن کنترل‌های ویدیو سفارشی

کنترل‌های ویدیو سفارشی را بااستفاده از روال‌های مطلوب زیر ارائه دهید:

  1. نمای کنترل‌های سفارشی را به‌عنوان فرزند نمای آگهی بومی ارائه دهید. این رویکرد به محاسبات رؤیت‌پذیری اندازه‌گیری باز اجازه می‌دهد تا کنترل‌های سفارشی را به‌عنوان مانع دوستانه درنظر بگیرد.
  2. از رندر کردن رونهاد نامرئی روی کل نمای رسانه خودداری کنید. رونهادها کلیک‌ها را در نمای رسانه مسدود می‌کنند و تأثیر منفی بر عملکرد آگهی‌های بومی می‌گذارند. به‌جای آن، هم‌پوشانی کوچکی ایجاد کنید که فقط به‌اندازه کافی بزرگ باشد تا کنترل‌ها در آن جا شوند.

اشاره‌های کلیک سفارشی

اشاره‌های کلیک سفارشی یکی از ویژگی‌های آگهی‌های بومی است که به شما امکان می‌دهد تند کشیدن‌ها روی نماهای آگهی را به‌عنوان کلیک آگهی ثبت کنید. این ویژگی با برنامه‌هایی کار می‌کند که از اشاره‌های تند کشیدن برای پیمایش محتوا استفاده می‌کنند. این راهنما به شما نشان می‌دهد که چگونه اشاره‌های کلیک سفارشی را در آگهی‌های بومی خود فعال کنید.

نمونه GADNativeAdCustomClickGestureOptions را با جهت تند کشیدن انتخابی‌تان مقداردهی اولیه کنید. همچنین باید مشخص کنید که آیا ضربه زدن به‌عنوان کلیک مجاز باشد یا نه.

  • اشاره‌های کلیک سفارشی به‌طور پیش‌فرض غیرفعال است.

  • وقتی غیرفعال باشد، فقط تک‌ضرب‌ها به‌عنوان کلیک محسوب می‌شوند.

  • وقتی فعال باشد، اشاره‌های تند کشیدن به‌عنوان کلیک محسوب می‌شود و می‌توانید مشخص کنید که آیا ضربه زدن هم به‌عنوان کلیک محسوب شود یا نه.

مثال زیر نحوه پیاده‌سازی اشاره تند کشیدن سفارشی به راست را نشان می‌دهد و رفتار ضربه زدن معمولی را حفظ می‌کند.

Swift

let swipeGestureOptions = NativeAdCustomClickGestureOptions(
  swipeGestureDirection: .right,
  tapsAllowed: true)

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [swipeGestureOptions])

آبجکتیو-سی

GADNativeAdCustomClickGestureOptions *swipeGestureOptions =
    [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ swipeGestureOptions ]];

گوش دادن به رویدادهای اشاره تند کشیدن

وقتی کلیک اشاره تند کشیدن ثبت می‌شود، Google Mobile Ads SDK روش نماینده nativeAdDidRecordSwipeGestureClick: را در GADNativeAdDelegate ، علاوه‌بر روش نماینده nativeAdDidRecordClick: موجود، فراخوانی می‌کند.

Swift

// Called when a swipe gesture click is recorded, as configured in
// NativeAdCustomClickGestureOptions.
func nativeAdDidRecordSwipeGestureClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click has occurred.")
}

// Called when a swipe gesture click or a tap click is recorded.
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click or tap click has occurred.")
}

آبجکتیو-سی

// Called when a swipe gesture click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

میانجیگری

اشاره‌های کلیک سفارشی فقط در آگهی‌های بومی‌ای کار می‌کند که کیت توسعه نرم‌افزار Google Mobile Ads ارائه می‌کند. منابع آگهی که برای ارائه به کیت‌های توسعه نرم‌افزار طرف سوم نیاز دارند، به تنظیمات جهت‌های کلیک سفارشی پاسخ نمی‌دهند.