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

پلاتفرم را انتخاب کنید: 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 را با شناسه واحد آگهی‌تان جایگزین کنید.

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

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

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 در 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 ارائه می‌کند. منابع آگهی که برای پرداز کردن به کیت‌های توسعه نرم‌افزار طرف سوم نیاز دارند، به تنظیم جهت‌های کلیک سفارشی پاسخ نمی‌دهند.