Как настроить расширенные встроенные функции

Выберите платформу: Android iOS Android (устаревшая версия)

Нативные объявления имеют множество продвинутых функций, которые позволяют выполнять дополнительные настройки и обеспечивать наилучшее качество рекламы. В этом руководстве рассказывается, как использовать продвинутые функции нативных объявлений.

Требования

Управление объектами

В этом разделе рассказывается, как настраивать объекты креативов в нативных объявлениях. Вы можете указать предпочтительное соотношение сторон для медиаобъектов, а также способ скачивания и показа объектов изображений.

Элементы управления предпочтительным соотношением сторон медиаконтента

Настройки соотношения сторон медиафайлов позволяют указать предпочтительное соотношение сторон для рекламных креативов.

Задайте GADNativeAdMediaAdLoaderOptions mediaAspectRatio с помощью GADMediaAspectRatio.

  • Если значение не задано, возвращаемое объявление может иметь любое соотношение сторон.

  • Это позволит вам улучшить взаимодействие с пользователем, указав предпочтительный тип соотношения сторон.

В примере ниже SDK получает указание отдавать предпочтение изображениям или видео с определенным соотношением сторон.

Swift

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

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

Objective-C

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

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

Замените nativeAdUnitID идентификатором своего рекламного блока.

Управление скачиванием изображений

Управление скачиванием изображений позволяет указать, что должно возвращаться SDK: объекты изображений или только URI.

Задайте для GADNativeAdImageAdLoaderOptions disableImageLoading значение BOOL.

  • По умолчанию скачивание изображений отключено.

  • Если эта функция отключена, Google Mobile Ads SDK автоматически заполняет поля с изображением и URI.

  • Если этот параметр включен, SDK заполняет только URI, что позволяет скачивать изображения по своему усмотрению.

В примере ниже SDK возвращает только URI.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

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

Objective-C

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

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

Настройки данных изображений

В некоторых объявлениях показывается не одно изображение, а несколько. С помощью этой функции можно указать, готово ли приложение показывать все изображения или только одно.

  • По умолчанию настройки данных изображений отключены.

  • Если эта функция отключена, приложение указывает SDK, что нужно предоставить только первое изображение для всех объектов, содержащих серию.

  • Если эта функция включена, приложение будет показывать все изображения для объектов, у которых их несколько.

В примере ниже SDK получает команду вернуть несколько объектов изображений.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

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

Objective-C

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

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

Размещение пометки "Выбор рекламы"

В этом разделе рассказывается, как разместить оверлей "Выбор рекламы". Вы можете разместить его в одном из четырех углов экрана или в специальной области просмотра.

Настройки расположения значка "Выбор рекламы"

С помощью настроек положения значка "Выбор рекламы" можно выбрать, в каком углу он будет показываться.

Задайте для GADNativeAdViewAdOptions preferredAdChoicesPosition значение GADAdChoicesPosition.

  • Если значение не задано, значок "Выбор рекламы" будет размещен в правом верхнем углу.

  • Если задать этот параметр, значок "Выбор рекламы" будет размещен в указанном месте.

В примере ниже показано, как задать собственное положение значка "Выбор рекламы".

Swift

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

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

Objective-C

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

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

Специальный режим просмотра значка "Выбор рекламы"

Функция пользовательского представления позволяет разместить значок "Выбор рекламы" в любом месте. Это отличается от настроек положения значка "Выбор рекламы", который можно разместить только в одном из четырех углов.

Задайте для свойства GADNativeAd.adChoicesView значение GADAdChoicesView до отрисовки. Контент "Выбор рекламы" будет отрисован внутри GADAdChoicesView.

В примере ниже показано, как настроить пользовательское представление значка "Выбор рекламы". Значок "Выбор рекламы" отображается внутри 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
}

Objective-C

- (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])

Objective-C

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

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

Собственные элементы управления воспроизведением

Это позволяет запрашивать специальные элементы управления видео, чтобы воспроизводить, приостанавливать или отключать звук в видео.

Задайте для GADVideoOptions customControlsRequested значение BOOL.

  • По умолчанию персонализированные элементы управления отключены.

  • Если отключить эту функцию, в видео будут показываться элементы управления, отрисованные SDK.

Если в объявлении есть видеоконтент и включены специальные элементы управления, то они должны показываться вместе с объявлением, поскольку в нем самом элементов управления нет. Затем элементы управления могут вызывать соответствующие методы в

GADVideoController.

В примере ниже показано, как запросить видео с собственными элементами управления воспроизведением.

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

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

Objective-C

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
}

Objective-C

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

Как настроить элементы управления видео

При отрисовке собственных элементов управления видео следуйте приведенным ниже рекомендациям.

  1. Отобразите представление пользовательских элементов управления как дочернее по отношению к представлению нативного объявления. В этом случае при расчете видимости Open Measurement будет считать пользовательские элементы управления допустимым препятствием.
  2. Не размещайте невидимый оверлей поверх всего представления медиаконтента. Оверлеи блокируют клики по медиаконтенту, что отрицательно сказывается на эффективности нативных объявлений. Вместо этого создайте небольшой оверлей, в котором поместятся только элементы управления.

Специальные жесты

Специальные жесты для кликов – это функция нативных объявлений, которая позволяет регистрировать пролистывания как клики по объявлениям. Она работает с приложениями, в которых для навигации по контенту используются жесты пролистывания. В этом руководстве рассказывается, как включить специальные жесты для кликов по нативным объявлениям.

Инициализируйте экземпляр GADNativeAdCustomClickGestureOptions с выбранным направлением пролистывания. Также необходимо указать, следует ли учитывать нажатия как клики.

  • Специальные жесты по умолчанию отключены.

  • Если эта функция отключена, кликами считаются только нажатия.

  • Если этот параметр включен, жесты пролистывания будут считаться кликами. Вы также можете указать, будут ли нажатия считаться кликами.

В примере ниже показано, как реализовать специальный жест пролистывания вправо и сохранить обычное поведение при нажатии.

Swift

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

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

Objective-C

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.")
}

Objective-C

// 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 SDK. Источники объявлений, которым для отрисовки требуются сторонние SDK, не реагируют на настройки специальных указаний по кликам.