Варианты нативной рекламы

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

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

Предварительные требования

Контроль активов

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

Предпочтительные параметры соотношения сторон медиафайлов

Функция «Управление соотношением сторон медиафайлов» позволяет задать предпочтительное соотношение сторон рекламных креативов.

Задайте GADNativeAdMediaAdLoaderOptions mediaAspectRatio значение GADMediaAspectRatio .

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

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

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

Быстрый

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.

Быстрый

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 получает указание вернуть несколько графических ресурсов.

Быстрый

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 ]];

Размещение рекламы AdChoices

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

Управление размещением AdChoices

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

Установите для GADNativeAdViewAdOptions preferredAdChoicesPosition значение параметра GADAdChoicesPosition .

  • Если этот параметр не задан, значок AdChoices будет расположен в правом верхнем углу.

  • Если задано, AdChoices размещается в указанном вами месте в соответствии с запросом.

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

Быстрый

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 ]];

пользовательский вид AdChoices

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

Перед отрисовкой установите свойство GADNativeAd.adChoicesView со значением GADAdChoicesView , и содержимое AdChoices отобразится внутри GADAdChoicesView .

В следующем примере показано, как настроить пользовательское представление AdChoices. Значок AdChoices отображается внутри GADAdChoicesView :

Быстрый

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 .

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

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

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

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

Быстрый

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 .

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

Быстрый

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 ]];

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

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

Быстрый

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. Отобразите представление пользовательских элементов управления как дочерний элемент представления нативной рекламы. Такой подход позволяет расчетам видимости OpenMeasure учитывать пользовательские элементы управления как удобное препятствие.
  2. Избегайте создания невидимого наложения поверх всего медиаконтента. Наложения блокируют клики по медиаконтенту, что негативно сказывается на эффективности нативной рекламы. Вместо этого создайте небольшое наложение, размер которого будет достаточен только для размещения элементов управления.

Настраиваемые жесты щелчка

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

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

  • Пользовательские жесты щелчка по умолчанию отключены.

  • При отключении этой функции засчитываться будут только касания.

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

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

Быстрый

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: delegate в GADNativeAdDelegate в дополнение к существующему методу nativeAdDidRecordClick: delegate.

Быстрый

// 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 , не реагируют на настройку пользовательских жестов клика.