У нативных объявлений много расширенных функций, которые позволяют дополнительно настраивать рекламу и создавать максимально удобный для пользователей интерфейс. В этом руководстве рассказывается, как использовать продвинутые функции нативных объявлений.
Требования
- Интегрируйте формат нативных объявлений.
Настройки объектов
В этом разделе рассказывается, как настраивать объекты креативов в нативных объявлениях. Вы можете указать предпочтительное соотношение сторон для медиаобъектов и то, как объекты изображений скачиваются и показываются.
Элементы управления предпочтительным соотношением сторон медиаконтента
Настройки соотношения сторон медиаконтента позволяют задать предпочтительное соотношение сторон креативов.
Вызовите NativeAdOptions.Builder.setMediaAspectRatio() со значением NativeAdOptions.MediaAspectRatio.
Если значение не задано, возвращаемое объявление может иметь любое соотношение сторон.
Если задать это значение, вы сможете улучшить качество показа, указав предпочтительное соотношение сторон.
В приведенном ниже примере SDK получает указание отдавать предпочтение изображению или видео с определенным соотношением сторон.
Java
Kotlin
Замените AD_UNIT_ID идентификатором рекламного блока.
Управление скачиванием изображений
Управление скачиванием изображений позволяет вам выбирать, какие объекты изображений или только URI будут возвращаться SDK.
Вызовите функцию NativeAdOptions.Builder.setReturnUrlsForImageAssets() со значением boolean.
По умолчанию скачивание изображений отключено.
Если эта функция отключена, Google Mobile Ads SDK (Legacy) автоматически добавит изображение и URI.
Если эта функция включена, SDK заполняет только URI, а вы можете скачивать изображения по своему усмотрению.
В примере ниже SDK возвращает только URI.
Java
Kotlin
Настройки данных изображений
В некоторых объявлениях показывается не одно, а несколько изображений. С помощью этой функции можно указать, готово ли приложение показывать все изображения или только одно.
Вызовите функцию NativeAdOptions.Builder.setRequestMultipleImages() со значением boolean.
Настройки данных изображений по умолчанию отключены.
Если эта функция отключена, приложение будет отправлять в SDK запрос на предоставление только первого изображения из серии.
Если этот параметр включен, приложение будет готово показывать все изображения для объектов, у которых их больше одного.
В приведенном ниже примере SDK получает инструкции вернуть несколько объектов изображений.
Java
Kotlin
Размещение пометки "Выбор рекламы"
В этом разделе рассказывается, как разместить оверлей "Выбор рекламы". Вы можете разместить его в одном из четырех углов экрана или в специальной области просмотра.
Настройки расположения значка "Выбор рекламы"
С помощью настроек положения значка "Выбор рекламы" можно выбрать, в каком углу он будет показываться.
Вызовите NativeAdOptions.Builder.setAdChoicesPlacement() со значением NativeAdOption.AdChoicesPlacement.
Если значение не задано, значок "Выбор рекламы" будет размещен в правом верхнем углу.
Если задать этот параметр, значок "Выбор рекламы" будет размещен в указанном месте.
В примере ниже показано, как задать собственное положение значка "Выбор рекламы".
Java
Kotlin
Специальный режим просмотра AdChoices
Функция "Специальное представление значка "Выбор рекламы" позволяет размещать значок "Выбор рекламы" в любом месте. Это отличается от настроек положения значка "Выбор рекламы", которые позволяют указать только один из четырех углов.
Вызовите функцию NativeAdView.setAdChoicesView() со значением AdChoicesView.
В примере ниже показано, как настроить собственное представление "Выбор рекламы" со значком "Выбор рекламы", отображаемым внутри AdChoicesView.
Java
NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);
Kotlin
val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView
Управление воспроизведением
В этом разделе рассказывается, как настроить воспроизведение видеообъявлений. Вы можете задать начальное состояние отключения звука и реализовать собственные элементы управления воспроизведением.
Поведение при запуске без звука
Поведение "Начать с отключенным звуком" позволяет отключить или включить звук в начале видео.
Вызовите функцию VideoOptions.Builder.setStartMuted() со значением boolean.
По умолчанию звук при запуске видео отключен.
Если параметр отключен, приложение запрашивает видео со звуком.
Если этот параметр включен, приложение запрашивает, чтобы видео начиналось с отключенным звуком.
В примере ниже показано, как запустить видео с включенным звуком.
Java
Kotlin
Собственные элементы управления воспроизведением
Это позволяет запрашивать специальные элементы управления видео, чтобы воспроизводить, приостанавливать или отключать звук видео.
Вызовите VideoOptions.Builder.setCustomControlsRequested() со значением boolean.
По умолчанию персонализированные элементы управления в видео отключены.
Если отключить эту функцию, в видео будут показываться элементы управления, отрисованные SDK.
Если в объявлении есть видеоконтент и включены специальные элементы управления, вам следует показывать их вместе с объявлением, поскольку в нем нет собственных элементов управления. Затем элементы управления могут вызывать соответствующие методы в
В следующем примере показано, как запросить видео с пользовательскими элементами управления воспроизведением.
Java
Kotlin
Как проверить, включены ли специальные элементы управления
Поскольку во время запроса неизвестно, будет ли в объявлении, которое вернет сервер, разрешено использовать специальные элементы управления видео, необходимо проверить, включены ли они.
Java
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
Kotlin
val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
val videoController = mediaContent.videoController
val canShowCustomControls = videoController.isCustomControlsEnabled
}
Как добавить собственные элементы управления видео
При создании собственных элементов управления видео следуйте приведенным ниже рекомендациям.
- Отобразите представление пользовательских элементов управления как дочернее представление нативного объявления. При таком подходе при расчете видимости с помощью Open Measurement пользовательские элементы управления будут считаться допустимым препятствием.
- Не размещайте невидимый оверлей поверх всей области просмотра медиаконтента. Оверлеи блокируют клики по медиаконтенту, что отрицательно сказывается на эффективности нативных объявлений. Вместо этого создайте небольшой оверлей, который будет достаточно большим, чтобы вместить элементы управления.
Специальные жесты
Специальные жесты для кликов – это функция нативных объявлений, которая позволяет регистрировать пролистывания как клики по объявлениям. Она работает в приложениях, где для навигации по контенту используются жесты прокрутки. В этом руководстве рассказывается, как включить в нативных объявлениях специальные жесты для кликов.
Вызовите метод NativeAdOptions.Builder.enableCustomClickGestureDirection() с параметрами NativeAdOptions.SwipeGestureDirection и boolean, чтобы указать, нужно ли разрешить нажатия в качестве кликов.
Специальные жесты по умолчанию отключены.
Если она отключена, приложение поддерживает обычное поведение при клике.
Если эта функция включена, в приложении поддерживаются специальные жесты.
В примере ниже реализован специальный жест пролистывания вправо, при этом сохраняется обычное поведение при нажатии.
Java
Kotlin
Как отслеживать события жестов пролистывания
Когда регистрируется клик с помощью жеста пролистывания, Google Mobile Ads SDK (Legacy) вызывает метод onAdSwipeGestureClicked() в AdListener в дополнение к существующему методу onAdClicked().
Java
AdLoader adLoader =
new AdLoader.Builder(context, AD_UNIT_ID)
.withAdListener(
new AdListener() {
// Called when a swipe gesture click is recorded.
@Override
public void onAdSwipeGestureClicked() {
// Called when a swipe gesture click is recorded.
Log.d(TAG, "A swipe gesture click has occurred.");
}
@Override
public void onAdClicked() {
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
Log.d(TAG, "A swipe gesture click or a tap click has occurred.");
}
})
.build();
Kotlin
val adLoader =
AdLoader.Builder(context, AD_UNIT_ID)
.withAdListener(
object : AdListener() {
override fun onAdSwipeGestureClicked() {
// Called when a swipe gesture click is recorded.
Log.d(TAG, "A swipe gesture click has occurred.")
}
override fun onAdClicked() {
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
}
}
)
.build()
Медиация
Специальные жесты для кликов работают только с нативными объявлениями, которые отрисовывает Google Mobile Ads SDK. Источники объявлений, для визуализации которых требуются сторонние SDK, не реагируют на настройки специальных инструкций по кликам.