Настройте расширенные встроенные функции

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

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

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

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

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

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

Media Aspect Ratio Controls let you specify a preference for the aspect ratio of ad creatives.

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

  • When unset, the returned ad can have any media aspect ratio.

  • When set, you will be able to improve the user experience by specifying the preferred type of aspect ratio.

The following example instructs the SDK to prefer a return image or video with a specific aspect ratio.

Быстрый

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 на идентификатор вашего рекламного блока.

управление загрузкой изображения

Image download control lets you decide if image assets or only URIs are returned by the SDK.

Set GADNativeAdImageAdLoaderOptions disableImageLoading with a BOOL value.

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

  • When disabled, Google Mobile Ads SDK populates both the image and the URI for you.

  • When enabled, the SDK instead populates just the URI, allowing you to download the actual images at your discretion.

The following example instructs the SDK to return just the 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 ]];

Управление полезной нагрузкой изображения

Some ads have a series of images rather than just one. Use this feature to indicate whether your app is prepared to display all the images or just one.

  • Элементы управления полезной нагрузкой изображения по умолчанию отключены.

  • When disabled, your app instructs the SDK to provide just the first image for any assets that contain a series.

  • When enabled, your app indicates that it is prepared to display all the images for any assets that have more than one.

The following example instructs the SDK to return multiple image assets.

Быстрый

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

This section details how to position the AdChoices overlay. You have the option to set its placement to one of the four corners or render it within a custom view.

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

The AdChoices position controls lets you choose which corner to render the AdChoices icon.

Set GADNativeAdViewAdOptions preferredAdChoicesPosition with a GADAdChoicesPosition value.

  • If unset, the AdChoices icon position is set to the top right.

  • If set, AdChoices is placed at the custom position as requested.

The following example demonstrates how to set a custom AdChoices image position.

Быстрый

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, которые позволяют указать только один из четырех углов.

Set the GADNativeAd.adChoicesView property with a GADAdChoicesView prior to rendering and the AdChoices content renders inside the 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;
}

Управление видео

This section details how customize the playback experience for video ads. You have the option to set the initial mute state and implement custom playback controls.

Запустить функцию отключения звука

The start muted behavior lets you disable or enable a video's starting audio.

Set GADVideoOptions startMuted with a BOOL value.

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

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

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

The following example shows how to start the video with un-muted audio.

Быстрый

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

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

This lets you request custom video input controls to play, pause, or mute the video.

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