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

Выберите платформу: 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. Отрисовывайте пользовательские элементы управления как дочерний элемент представления нативной рекламы. Такой подход позволяет при расчёте видимости Open Measurement учитывать пользовательские элементы управления как помеху.
  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: в GADNativeAdDelegate в дополнение к существующему методу делегата nativeAdDidRecordClick: :.

Быстрый

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