گزینه های تبلیغات بومی

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

پیش نیازها

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

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

کنترل‌های نسبت ابعاد رسانه به شما این امکان را می‌دهد که ترجیحی برای نسبت ابعاد آگهی‌های خلاقانه تعیین کنید.

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

کنترل های محموله تصویر

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

GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages با مقدار BOOL تنظیم کنید.
  • کنترل‌های بارگذاری تصویر به‌طور پیش‌فرض غیرفعال هستند.

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

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

مثال زیر به SDK دستور می دهد چندین دارایی تصویر را برگرداند.

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

GADVideoOptions customControlsRequested با مقدار BOOL تنظیم کنید.
  • کنترل پخش سفارشی به طور پیش فرض غیرفعال است.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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
}

رندر کنترل های ویدئویی سفارشی

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

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

حرکات کلیک سفارشی

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

یک نمونه 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:@"ca-app-pub-3940256099942544/3986624511"
      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 های شخص ثالث نیاز دارند ، به تنظیمات سفارشی جهت کلیک پاسخ نمی دهند.

،

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

پیش نیازها

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

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

کنترل‌های نسبت ابعاد رسانه به شما این امکان را می‌دهد که ترجیحی برای نسبت ابعاد آگهی‌های خلاقانه تعیین کنید.

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

کنترل های محموله تصویر

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

GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages با مقدار BOOL تنظیم کنید.
  • کنترل‌های بارگذاری تصویر به‌طور پیش‌فرض غیرفعال هستند.

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

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

مثال زیر به SDK دستور می دهد چندین دارایی تصویر را برگرداند.

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

GADVideoOptions customControlsRequested با مقدار BOOL تنظیم کنید.
  • کنترل پخش سفارشی به طور پیش فرض غیرفعال است.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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
}

رندر کنترل های ویدئویی سفارشی

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

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

حرکات کلیک سفارشی

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

یک نمونه 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:@"ca-app-pub-3940256099942544/3986624511"
      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 های شخص ثالث نیاز دارند ، به تنظیمات سفارشی جهت کلیک پاسخ نمی دهند.

،

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

پیش نیازها

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

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

کنترل‌های نسبت ابعاد رسانه به شما این امکان را می‌دهد که ترجیحی برای نسبت ابعاد آگهی‌های خلاقانه تعیین کنید.

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

کنترل های محموله تصویر

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

GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages با مقدار BOOL تنظیم کنید.
  • کنترل‌های بارگذاری تصویر به‌طور پیش‌فرض غیرفعال هستند.

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

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

مثال زیر به SDK دستور می دهد چندین دارایی تصویر را برگرداند.

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

GADVideoOptions customControlsRequested با مقدار BOOL تنظیم کنید.
  • کنترل پخش سفارشی به طور پیش فرض غیرفعال است.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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
}

رندر کنترل های ویدئویی سفارشی

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

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

حرکات کلیک سفارشی

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

یک نمونه 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:@"ca-app-pub-3940256099942544/3986624511"
      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 های شخص ثالث نیاز دارند ، به تنظیمات سفارشی جهت کلیک پاسخ نمی دهند.

،

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

پیش نیازها

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

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

کنترل‌های نسبت ابعاد رسانه به شما این امکان را می‌دهد که ترجیحی برای نسبت ابعاد آگهی‌های خلاقانه تعیین کنید.

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

کنترل های محموله تصویر

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

GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages با مقدار BOOL تنظیم کنید.
  • کنترل‌های بارگذاری تصویر به‌طور پیش‌فرض غیرفعال هستند.

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

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

مثال زیر به SDK دستور می دهد چندین دارایی تصویر را برگرداند.

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

GADVideoOptions customControlsRequested با مقدار BOOL تنظیم کنید.
  • کنترل پخش سفارشی به طور پیش فرض غیرفعال است.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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
}

رندر کنترل های ویدئویی سفارشی

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

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

حرکات کلیک سفارشی

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

یک نمونه 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:@"ca-app-pub-3940256099942544/3986624511"
      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 های شخص ثالث نیاز دارند ، به تنظیمات سفارشی جهت کلیک پاسخ نمی دهند.