API динамической вставки рекламы позволяет запрашивать и отслеживать потоки видео по запросу (VOD) с использованием технологии DAI. Поддерживаются потоки HLS и DASH.
Сервис: dai.google.com
Путь к методу stream указывается относительно https://dai.google.com
Метод: поток
| Методы | |
|---|---|
stream | POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/streamСоздает поток HLS DAI для заданного источника контента и идентификатора видео. Создает поток DASH DAI для заданного источника контента и идентификатора видео. |
HTTP-запрос
POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream
Заголовок запроса
| Параметры | |
|---|---|
api‑key | stringКлюч API, предоставленный при создании потока, должен быть действителен для сети издателя. Вместо того чтобы указывать ключ API в теле запроса, его можно передать в заголовке HTTP Authorization в следующем формате: Authorization: DCLKDAI key="<api-key>" |
Параметры пути
| Параметры | |
|---|---|
content-source | stringИдентификатор CMS потока. |
video-id | stringИдентификатор видеопотока. |
Текст запроса
Тело запроса имеет тип application/x-www-form-urlencoded и содержит следующие параметры:
| Параметры | ||
|---|---|---|
dai-ssb | Необязательный | Установите значение |
| Параметры таргетинга DFP | Необязательный | Дополнительные параметры наведения. |
| Переопределение параметров потока | Необязательный | Переопределить значения по умолчанию параметра создания потока. |
| Аутентификация HMAC | Необязательный | Аутентификация осуществляется с помощью токена на основе HMAC. |
Ответный текст
В случае успеха тело ответа содержит новый Stream . Для потоков, отправляемых на стороне сервера, этот Stream содержит только поля stream_id и stream_manifest .
Открытое измерение
Поле Verifications содержит информацию для проверки Open Measurement для потоков, не использующих серверную передачу сигналов. Поле Verifications содержит один или несколько элементов Verification , в которых перечислены ресурсы и метаданные, необходимые для проверки воспроизведения креативов с помощью стороннего кода измерения. Поддерживается только JavaScriptResource . Для получения дополнительной информации см. IAB Tech Lab и спецификацию VAST 4.1 .
Метод: проверка СМИ
После обнаружения идентификатора рекламного медиафайла во время воспроизведения, немедленно отправьте запрос, используя media_verification_url , с конечной точки stream . media_verification_url — это абсолютный путь. Запросы на проверку медиафайлов не требуются для потоков, передающих сигналы на стороне сервера, где проверку медиафайлов инициирует сам сервер.
Запросы к конечной точке media verification являются идемпотентными.
| Методы | |
|---|---|
media verification | GET {media_verification_url}/{ad_media_id}Уведомляет API о событии проверки носителя. |
HTTP-запрос
GET {media-verification-url}/{ad-media-id}
Ответный текст
media verification возвращаются следующие данные:
-
HTTP/1.1 204 No Contentесли проверка медиафайлов прошла успешно и все пинги отправлены. -
HTTP/1.1 404 Not Found, если запрос не может проверить медиафайл из-за неправильного форматирования URL-адреса или истечения срока действия. -
HTTP/1.1 404 Not Foundесли предыдущий запрос на проверку этого идентификатора был успешным. -
HTTP/1.1 409 Conflictесли в данный момент другой запрос уже отправляет пинги.
Идентификаторы рекламных медиа (HLS)
Идентификаторы рекламных медиафайлов будут закодированы в HLS Timed Metadata с использованием ключа TXXX , зарезервированного для фреймов с "текстовой информацией, определяемой пользователем". Содержимое фрейма будет незашифрованным и всегда будет начинаться с текста "google_" .
Для каждого запроса на подтверждение рекламы необходимо добавить все текстовое содержимое фрейма в поле media_verification_url .
Идентификаторы рекламных медиа (DASH)
Идентификаторы рекламных медиафайлов будут добавлены в манифест с помощью элемента EventStream из библиотеки DASH.
Каждый EventStream будет иметь URI с идентификатором схемы urn:google:dai:2018 . Они будут содержать события с атрибутом messageData , включающим идентификатор рекламного носителя, начинающийся с "google_" . Всё содержимое атрибута messageData должно быть добавлено к media_verification_url для каждого запроса на подтверждение рекламы.
Данные ответа
Транслировать
Объект Stream используется для отображения списка всех ресурсов для вновь созданного потока в формате JSON.| JSON-представление |
|---|
{
"stream_id": string,
"total_duration": number,
"content_duration": number,
"valid_for": string,
"valid_until": string,
"subtitles": [object(Subtitle)],
"hls_master_playlist": string,
"stream_manifest": string,
"media_verification_url": string,
"apple_tv": object(AppleTV),
"ad_breaks": [object(AdBreak)],
} |
| Поля | |
|---|---|
stream_id | stringИдентификатор потока. |
total_duration | numberПродолжительность трансляции в секундах. |
content_duration | numberПродолжительность контента без рекламы в секундах. |
valid_for | stringПродолжительность потока указана в формате "00h00m00s". |
valid_until | stringДата, до которой поток действителен, в формате RFC 3339. |
subtitles | [object(Subtitle)]Список субтитров. Опускается, если список пуст. Только HLS. |
hls_master_playlist | string(УСТАРЕЛО) URL основного плейлиста HLS. Используйте stream_manifest. Только HLS. |
stream_manifest | stringМанифест потока. Соответствует основному плейлисту в HLS и MPD в DASH. Это единственное поле, помимо "stream_id", которое присутствует в ответе при создании потока, отправляемого на стороне сервера. |
media_verification_url | stringURL для проверки медиафайлов. |
apple_tv | object(AppleTV)Дополнительная информация, специфичная для устройств AppleTV. Только HLS. |
ad_breaks | [object(AdBreak)]Список рекламных вставок. Опускается, если список пуст. |
AppleTV
В разделе AppleTV содержится информация, специфичная для устройств Apple TV.| JSON-представление |
|---|
{
"interstitials_url": string,
} |
| Поля | |
|---|---|
interstitials_url | stringURL-адреса межстраничных сообщений. |
AdBreak
AdBreak описывает отдельный рекламный блок в рекламном потоке. Он содержит позицию, продолжительность, тип (в середине/перед/после) и список рекламных объявлений.| JSON-представление |
|---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
| Поля | |
|---|---|
type | stringДопустимые типы перерывов: промежуточный, пред- и последующий. |
start | numberМесто в потоке, с которого начинается разрыв, в секундах. |
duration | numberПродолжительность рекламной паузы в секундах. |
ads | [object(Ad)]Список объявлений. Опускается, если список пуст. |
Объявление
Описание объявления в рекламном потоке содержит информацию о позиции объявления в рекламной паузе, продолжительности показа и некоторые необязательные метаданные.| JSON-представление |
|---|
{
"seq": number,
"start": number,
"duration": number,
"title": string,
"description": string,
"advertiser": string,
"ad_system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
"clickthrough_url": string,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"events": [object(Event)],
"verifications": [object(Verification)],
"universal_ad_id": object(UniversalAdID),
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
"skip_metadata": object(SkipMetadata),
"extensions": [],
} |
| Поля | |
|---|---|
seq | numberПоложение рекламы в рекламном блоке. |
start | numberПозиция в рекламном потоке, с которой начинается показ рекламы, в секундах. |
duration | numberПродолжительность рекламного ролика в секундах. |
title | stringЗаголовок объявления (необязательно). |
description | stringДополнительное описание объявления. |
advertiser | stringНеобязательный идентификатор рекламодателя. |
ad_system | stringДополнительная рекламная система. |
ad_id | stringНеобязательный идентификатор объявления. |
creative_id | stringНеобязательный идентификатор креатива. |
creative_ad_id | stringНеобязательный идентификатор креативного объявления. |
deal_id | stringНеобязательный идентификатор сделки. |
clickthrough_url | stringНеобязательный URL-адрес для перехода по ссылке. |
icons | [object(Icon)]Список значков, опускается, если он пуст. |
wrappers | [object(Wrapper)]Список оберток. Опускается, если список пуст. |
events | [object(Event)]Список событий, упомянутых в рекламе. |
verifications | [object(Verification)]Дополнительные записи для проверки Open Measurement, в которых перечислены ресурсы и метаданные, необходимые для выполнения стороннего кода измерения с целью проверки воспроизведения креативов. |
universal_ad_id | object(UniversalAdID)Дополнительный универсальный идентификатор объявления. |
companions | [object(Companion)]Дополнительные материалы, которые могут отображаться вместе с этим объявлением (по желанию). |
interactive_file | object(InteractiveFile)Дополнительный интерактивный креатив (SIMID), который должен отображаться во время воспроизведения рекламы. |
skip_metadata | object(SkipMetadata)Необязательные метаданные для пропускаемых объявлений. Если задано, это указывает на то, что объявление можно пропустить, и включает инструкции по обработке события пропуска и отслеживания. |
extensions | stringНеобязательный список всех узлов <Extension> в VAST. |
Событие
Событие содержит информацию о типе события и времени его проведения.| JSON-представление |
|---|
{ "time": number, "type": string, } |
| Поля | |
|---|---|
time | numberВремя начала презентации этого мероприятия. |
type | stringТип данного события. |
Субтитры
Атрибут Subtitle описывает дополнительный файл субтитров для видеопотока. Он хранит два формата субтитров: TTML и WebVTT. Атрибут TTMLPath содержит URL-адрес дополнительного файла TTML, а атрибут WebVTTPath аналогично содержит URL-адрес дополнительного файла WebVTT.| JSON-представление |
|---|
{
"language": string,
"language_name": string,
"ttml": string,
"webvtt": string,
} |
| Поля | |
|---|---|
language | stringЯзыковой код, например, «en» или «de». |
language_name | stringОписательное название языка. Оно позволяет отличить один набор субтитров от другого, если для одного и того же языка существует несколько наборов. |
ttml | stringНеобязательный URL-адрес файла-дополнения TTML. |
webvtt | stringНеобязательный URL-адрес файла-дополнения WebVTT. |
SkipMetadata
SkipMetadata предоставляет информацию, необходимую клиентам для обработки событий пропуска для пропускаемых объявлений.| JSON-представление |
|---|
{
"offset": number,
"tracking_url": string,
} |
| Поля | |
|---|---|
offset | numberПараметр Offset указывает время в секундах, которое плеер должен подождать, прежде чем отобразится кнопка пропуска рекламы. Если этот параметр не указан в VAST, он опускается. |
tracking_url | stringВ переменной TrackingURL содержится URL-адрес, который должен быть отправлен при событии skip. |
Икона
Icon содержит информацию об иконке VAST.| JSON-представление |
|---|
{ "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } |
| Поля | |
|---|---|
click_data | object(ClickData) |
creative_type | string |
click_fallback_images | [object(FallbackImage)] |
height | int32 |
width | int32 |
resource | string |
type | string |
x_position | string |
y_position | string |
program | string |
alt_text | string |
ClickData
Данные ClickData содержат информацию о клике по значку.| JSON-представление |
|---|
{
"url": string,
} |
| Поля | |
|---|---|
url | string |
FallbackImage
FallbackImage содержит информацию о резервном образе VAST.| JSON-представление |
|---|
{ "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } |
| Поля | |
|---|---|
creative_type | string |
height | int32 |
width | int32 |
resource | string |
alt_text | string |
Упаковка
Wrapper содержит информацию о рекламном объявлении-оболочке. Он не включает идентификатор предложения (Deal ID), если он отсутствует.| JSON-представление |
|---|
{
"system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
} |
| Поля | |
|---|---|
system | stringИдентификатор рекламной системы. |
ad_id | stringИдентификатор объявления, используемый для рекламной оболочки. |
creative_id | stringДля рекламного объявления-оболочки использован Creative ID. |
creative_ad_id | stringИдентификатор креатива, используемый для рекламного объявления-оболочки. |
deal_id | stringНеобязательный идентификатор сделки для рекламного объявления-оболочки. |
Проверка
В разделе «Верификация» содержится информация для Open Measurement, которая упрощает измерение видимости и верификацию сторонними сервисами. В настоящее время поддерживаются только ресурсы JavaScript. См. https://iabtechlab.com/standards/open-measurement-sdk/| JSON-представление |
|---|
{
"vendor": string,
"java_script_resources": [object(JavaScriptResource)],
"tracking_events": [object(TrackingEvent)],
"parameters": string,
} |
| Поля | |
|---|---|
vendor | stringПоставщик услуг по проверке. |
java_script_resources | [object(JavaScriptResource)]Список ресурсов JavaScript для проверки. |
tracking_events | [object(TrackingEvent)]Список событий отслеживания для проверки. |
parameters | stringНепрозрачная строка, передаваемая коду проверки начальной загрузки. |
JavaScriptResource
JavaScriptResource содержит информацию для проверки с помощью JavaScript.| JSON-представление |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| Поля | |
|---|---|
script_url | stringURI в JavaScript-код. |
api_framework | stringAPIFramework — это название видеофреймворка, использующего код подтверждения. |
browser_optional | booleanМожно ли запустить этот скрипт вне браузера? |
Отслеживание событий
Класс TrackingEvent содержит URL-адреса, которые клиент должен проверять в определенных ситуациях.| JSON-представление |
|---|
{
"event": string,
"uri": string,
} |
| Поля | |
|---|---|
event | stringТип события отслеживания. |
uri | stringСобытие отслеживания, которое необходимо проверить с помощью команды ping. |
UniversalAdID
UniversalAdID используется для предоставления уникального идентификатора рекламного креатива, который сохраняется во всех рекламных системах.| JSON-представление |
|---|
{ "id_value": string, "id_registry": string, } |
| Поля | |
|---|---|
id_value | stringУниверсальный идентификатор объявления (Universal Ad ID) выбранного креатива для рекламы. |
id_registry | stringСтрока, используемая для идентификации URL-адреса веб-сайта реестра, где каталогизирован универсальный идентификатор объявления выбранного рекламного материала. |
Спутник
В разделе «Сопутствующие материалы» содержится информация о сопутствующих рекламных объявлениях, которые могут отображаться вместе с основным объявлением.| JSON-представление |
|---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } |
| Поля | |
|---|---|
click_data | object(ClickData)Данные о кликах по этому сопутствующему товару. |
creative_type | stringАтрибут CreativeType у узла <StaticResource> в VAST указывает, является ли он компонентом типа static. |
height | int32Высота этого спутника в пикселях. |
width | int32Ширина этого компаньона в пикселях. |
resource | stringДля статических элементов и элементов iframe это будет URL-адрес, который будет загружен и отображен. Для элементов HTML это будет фрагмент HTML-кода, который должен отображаться в качестве элемента. |
type | stringТип этого дополнения. Оно может быть статическим, iframe или HTML. |
ad_slot_id | stringИдентификатор слота для этого компаньона. |
api_framework | stringAPI-фреймворк для этого дополнения. |
tracking_events | [object(TrackingEvent)]Список событий отслеживания для этого компаньона. |
Интерактивный файл
Файл InteractiveFile содержит информацию об интерактивном креативе (т.е. SIMID), который должен отображаться во время воспроизведения рекламы.| JSON-представление |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Поля | |
|---|---|
resource | stringURL-адрес интерактивного рекламного материала. |
type | stringMIME-тип файла, предоставленного в качестве ресурса. |
variable_duration | booleanВозможно ли, что автор данного творческого произведения попросит продлить срок действия? |
ad_parameters | stringЗначение узла <AdParameters> в VAST. |
API динамической вставки рекламы позволяет запрашивать и отслеживать потоки видео по запросу (VOD) с использованием технологии DAI. Поддерживаются потоки HLS и DASH.
Сервис: dai.google.com
Путь к методу stream указывается относительно https://dai.google.com
Метод: поток
| Методы | |
|---|---|
stream | POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/streamСоздает поток HLS DAI для заданного источника контента и идентификатора видео. Создает поток DASH DAI для заданного источника контента и идентификатора видео. |
HTTP-запрос
POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream
Заголовок запроса
| Параметры | |
|---|---|
api‑key | stringКлюч API, предоставленный при создании потока, должен быть действителен для сети издателя. Вместо того чтобы указывать ключ API в теле запроса, его можно передать в заголовке HTTP Authorization в следующем формате: Authorization: DCLKDAI key="<api-key>" |
Параметры пути
| Параметры | |
|---|---|
content-source | stringИдентификатор CMS потока. |
video-id | stringИдентификатор видеопотока. |
Текст запроса
Тело запроса имеет тип application/x-www-form-urlencoded и содержит следующие параметры:
| Параметры | ||
|---|---|---|
dai-ssb | Необязательный | Установите значение |
| Параметры таргетинга DFP | Необязательный | Дополнительные параметры наведения. |
| Переопределение параметров потока | Необязательный | Переопределить значения по умолчанию параметра создания потока. |
| Аутентификация HMAC | Необязательный | Аутентификация осуществляется с помощью токена на основе HMAC. |
Ответный текст
В случае успеха тело ответа содержит новый Stream . Для потоков, отправляемых на стороне сервера, этот Stream содержит только поля stream_id и stream_manifest .
Открытое измерение
Поле Verifications содержит информацию для проверки Open Measurement для потоков, не использующих серверную передачу сигналов. Поле Verifications содержит один или несколько элементов Verification , в которых перечислены ресурсы и метаданные, необходимые для проверки воспроизведения креативов с помощью стороннего кода измерения. Поддерживается только JavaScriptResource . Для получения дополнительной информации см. IAB Tech Lab и спецификацию VAST 4.1 .
Метод: проверка СМИ
После обнаружения идентификатора рекламного медиафайла во время воспроизведения, немедленно отправьте запрос, используя media_verification_url , с конечной точки stream . media_verification_url — это абсолютный путь. Запросы на проверку медиафайлов не требуются для потоков, передающих сигналы на стороне сервера, где проверку медиафайлов инициирует сам сервер.
Запросы к конечной точке media verification являются идемпотентными.
| Методы | |
|---|---|
media verification | GET {media_verification_url}/{ad_media_id}Уведомляет API о событии проверки носителя. |
HTTP-запрос
GET {media-verification-url}/{ad-media-id}
Ответный текст
media verification возвращаются следующие данные:
-
HTTP/1.1 204 No Contentесли проверка медиафайлов прошла успешно и все пинги отправлены. -
HTTP/1.1 404 Not Found, если запрос не может проверить медиафайл из-за неправильного форматирования URL-адреса или истечения срока действия. -
HTTP/1.1 404 Not Foundесли предыдущий запрос на проверку этого идентификатора был успешным. -
HTTP/1.1 409 Conflictесли в данный момент другой запрос уже отправляет пинги.
Идентификаторы рекламных медиа (HLS)
Идентификаторы рекламных медиафайлов будут закодированы в HLS Timed Metadata с использованием ключа TXXX , зарезервированного для фреймов с "текстовой информацией, определяемой пользователем". Содержимое фрейма будет незашифрованным и всегда будет начинаться с текста "google_" .
Для каждого запроса на подтверждение рекламы необходимо добавить все текстовое содержимое фрейма в поле media_verification_url .
Идентификаторы рекламных медиа (DASH)
Идентификаторы рекламных медиафайлов будут добавлены в манифест с помощью элемента EventStream из библиотеки DASH.
Каждый EventStream будет иметь URI с идентификатором схемы urn:google:dai:2018 . Они будут содержать события с атрибутом messageData , включающим идентификатор рекламного носителя, начинающийся с "google_" . Всё содержимое атрибута messageData должно быть добавлено к media_verification_url для каждого запроса на подтверждение рекламы.
Данные ответа
Транслировать
Объект Stream используется для отображения списка всех ресурсов для вновь созданного потока в формате JSON.| JSON-представление |
|---|
{
"stream_id": string,
"total_duration": number,
"content_duration": number,
"valid_for": string,
"valid_until": string,
"subtitles": [object(Subtitle)],
"hls_master_playlist": string,
"stream_manifest": string,
"media_verification_url": string,
"apple_tv": object(AppleTV),
"ad_breaks": [object(AdBreak)],
} |
| Поля | |
|---|---|
stream_id | stringИдентификатор потока. |
total_duration | numberПродолжительность трансляции в секундах. |
content_duration | numberПродолжительность контента без рекламы в секундах. |
valid_for | stringПродолжительность потока указана в формате "00h00m00s". |
valid_until | stringДата, до которой поток действителен, в формате RFC 3339. |
subtitles | [object(Subtitle)]Список субтитров. Опускается, если список пуст. Только HLS. |
hls_master_playlist | string(УСТАРЕЛО) URL основного плейлиста HLS. Используйте stream_manifest. Только HLS. |
stream_manifest | stringМанифест потока. Соответствует основному плейлисту в HLS и MPD в DASH. Это единственное поле, помимо "stream_id", которое присутствует в ответе при создании потока, отправляемого на стороне сервера. |
media_verification_url | stringURL для проверки медиафайлов. |
apple_tv | object(AppleTV)Дополнительная информация, специфичная для устройств AppleTV. Только HLS. |
ad_breaks | [object(AdBreak)]Список рекламных вставок. Опускается, если список пуст. |
AppleTV
В разделе AppleTV содержится информация, специфичная для устройств Apple TV.| JSON-представление |
|---|
{
"interstitials_url": string,
} |
| Поля | |
|---|---|
interstitials_url | stringURL-адреса межстраничных сообщений. |
AdBreak
AdBreak описывает отдельный рекламный блок в рекламном потоке. Он содержит позицию, продолжительность, тип (в середине/перед/после) и список рекламных объявлений.| JSON-представление |
|---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
| Поля | |
|---|---|
type | stringДопустимые типы перерывов: промежуточный, пред- и последующий. |
start | numberМесто в потоке, с которого начинается разрыв, в секундах. |
duration | numberПродолжительность рекламной паузы в секундах. |
ads | [object(Ad)]Список объявлений. Опускается, если список пуст. |
Объявление
Описание объявления в рекламном потоке содержит информацию о позиции объявления в рекламной паузе, продолжительности показа и некоторые необязательные метаданные.| JSON-представление |
|---|
{
"seq": number,
"start": number,
"duration": number,
"title": string,
"description": string,
"advertiser": string,
"ad_system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
"clickthrough_url": string,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"events": [object(Event)],
"verifications": [object(Verification)],
"universal_ad_id": object(UniversalAdID),
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
"skip_metadata": object(SkipMetadata),
"extensions": [],
} |
| Поля | |
|---|---|
seq | numberПоложение рекламы в рекламном блоке. |
start | numberПозиция в рекламном потоке, с которой начинается показ рекламы, в секундах. |
duration | numberПродолжительность рекламного ролика в секундах. |
title | stringЗаголовок объявления (необязательно). |
description | stringДополнительное описание объявления. |
advertiser | stringНеобязательный идентификатор рекламодателя. |
ad_system | stringДополнительная рекламная система. |
ad_id | stringНеобязательный идентификатор объявления. |
creative_id | stringНеобязательный идентификатор креатива. |
creative_ad_id | stringНеобязательный идентификатор креативного объявления. |
deal_id | stringНеобязательный идентификатор сделки. |
clickthrough_url | stringНеобязательный URL-адрес для перехода по ссылке. |
icons | [object(Icon)]Список значков, опускается, если он пуст. |
wrappers | [object(Wrapper)]Список оберток. Опускается, если список пуст. |
events | [object(Event)]Список событий, упомянутых в рекламе. |
verifications | [object(Verification)]Дополнительные записи для проверки Open Measurement, в которых перечислены ресурсы и метаданные, необходимые для выполнения стороннего кода измерения с целью проверки воспроизведения креативов. |
universal_ad_id | object(UniversalAdID)Дополнительный универсальный идентификатор объявления. |
companions | [object(Companion)]Дополнительные материалы, которые могут отображаться вместе с этим объявлением (по желанию). |
interactive_file | object(InteractiveFile)Дополнительный интерактивный креатив (SIMID), который должен отображаться во время воспроизведения рекламы. |
skip_metadata | object(SkipMetadata)Необязательные метаданные для пропускаемых объявлений. Если задано, это указывает на то, что объявление можно пропустить, и включает инструкции по обработке события пропуска и отслеживания. |
extensions | stringНеобязательный список всех узлов <Extension> в VAST. |
Событие
Событие содержит информацию о типе события и времени его проведения.| JSON-представление |
|---|
{ "time": number, "type": string, } |
| Поля | |
|---|---|
time | numberВремя начала презентации этого мероприятия. |
type | stringТип данного события. |
Субтитры
Атрибут Subtitle описывает дополнительный файл субтитров для видеопотока. Он хранит два формата субтитров: TTML и WebVTT. Атрибут TTMLPath содержит URL-адрес дополнительного файла TTML, а атрибут WebVTTPath аналогично содержит URL-адрес дополнительного файла WebVTT.| JSON-представление |
|---|
{
"language": string,
"language_name": string,
"ttml": string,
"webvtt": string,
} |
| Поля | |
|---|---|
language | stringЯзыковой код, например, «en» или «de». |
language_name | stringОписательное название языка. Оно позволяет отличить один набор субтитров от другого, если для одного и того же языка существует несколько наборов. |
ttml | stringНеобязательный URL-адрес файла-дополнения TTML. |
webvtt | stringНеобязательный URL-адрес файла-дополнения WebVTT. |
SkipMetadata
SkipMetadata предоставляет информацию, необходимую клиентам для обработки событий пропуска для пропускаемых объявлений.| JSON-представление |
|---|
{
"offset": number,
"tracking_url": string,
} |
| Поля | |
|---|---|
offset | numberПараметр Offset указывает время в секундах, которое плеер должен подождать, прежде чем отобразится кнопка пропуска рекламы. Если этот параметр не указан в VAST, он опускается. |
tracking_url | stringВ переменной TrackingURL содержится URL-адрес, который должен быть отправлен при событии skip. |
Икона
Icon содержит информацию об иконке VAST.| JSON-представление |
|---|
{ "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } |
| Поля | |
|---|---|
click_data | object(ClickData) |
creative_type | string |
click_fallback_images | [object(FallbackImage)] |
height | int32 |
width | int32 |
resource | string |
type | string |
x_position | string |
y_position | string |
program | string |
alt_text | string |
ClickData
Данные ClickData содержат информацию о клике по значку.| JSON-представление |
|---|
{
"url": string,
} |
| Поля | |
|---|---|
url | string |
FallbackImage
FallbackImage содержит информацию о резервном образе VAST.| JSON-представление |
|---|
{ "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } |
| Поля | |
|---|---|
creative_type | string |
height | int32 |
width | int32 |
resource | string |
alt_text | string |
Упаковка
Wrapper содержит информацию о рекламном объявлении-оболочке. Он не включает идентификатор предложения (Deal ID), если он отсутствует.| JSON-представление |
|---|
{
"system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
} |
| Поля | |
|---|---|
system | stringИдентификатор рекламной системы. |
ad_id | stringИдентификатор объявления, используемый для рекламной оболочки. |
creative_id | stringДля рекламного объявления-оболочки использован Creative ID. |
creative_ad_id | stringИдентификатор креатива, используемый для рекламного объявления-оболочки. |
deal_id | stringНеобязательный идентификатор сделки для рекламного объявления-оболочки. |
Проверка
В разделе «Верификация» содержится информация для Open Measurement, которая упрощает измерение видимости и верификацию сторонними сервисами. В настоящее время поддерживаются только ресурсы JavaScript. См. https://iabtechlab.com/standards/open-measurement-sdk/| JSON-представление |
|---|
{
"vendor": string,
"java_script_resources": [object(JavaScriptResource)],
"tracking_events": [object(TrackingEvent)],
"parameters": string,
} |
| Поля | |
|---|---|
vendor | stringПоставщик услуг по проверке. |
java_script_resources | [object(JavaScriptResource)]Список ресурсов JavaScript для проверки. |
tracking_events | [object(TrackingEvent)]Список событий отслеживания для проверки. |
parameters | stringНепрозрачная строка, передаваемая коду проверки начальной загрузки. |
JavaScriptResource
JavaScriptResource содержит информацию для проверки с помощью JavaScript.| JSON-представление |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| Поля | |
|---|---|
script_url | stringURI в JavaScript-код. |
api_framework | stringAPIFramework — это название видеофреймворка, использующего код подтверждения. |
browser_optional | booleanМожно ли запустить этот скрипт вне браузера? |
Отслеживание событий
Класс TrackingEvent содержит URL-адреса, которые клиент должен проверять в определенных ситуациях.| JSON-представление |
|---|
{
"event": string,
"uri": string,
} |
| Поля | |
|---|---|
event | stringТип события отслеживания. |
uri | stringСобытие отслеживания, которое необходимо проверить с помощью команды ping. |
UniversalAdID
UniversalAdID используется для предоставления уникального идентификатора рекламного креатива, который сохраняется во всех рекламных системах.| JSON-представление |
|---|
{ "id_value": string, "id_registry": string, } |
| Поля | |
|---|---|
id_value | stringУниверсальный идентификатор объявления (Universal Ad ID) выбранного креатива для рекламы. |
id_registry | stringСтрока, используемая для идентификации URL-адреса веб-сайта реестра, где каталогизирован универсальный идентификатор объявления выбранного рекламного материала. |
Спутник
В разделе «Сопутствующие материалы» содержится информация о сопутствующих рекламных объявлениях, которые могут отображаться вместе с основным объявлением.| JSON-представление |
|---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } |
| Поля | |
|---|---|
click_data | object(ClickData)Данные о кликах по этому сопутствующему товару. |
creative_type | stringАтрибут CreativeType у узла <StaticResource> в VAST указывает, является ли он компонентом типа static. |
height | int32Высота этого спутника в пикселях. |
width | int32Ширина этого компаньона в пикселях. |
resource | stringДля статических элементов и элементов iframe это будет URL-адрес, который будет загружен и отображен. Для элементов HTML это будет фрагмент HTML-кода, который должен отображаться в качестве элемента. |
type | stringТип этого дополнения. Оно может быть статическим, iframe или HTML. |
ad_slot_id | stringИдентификатор слота для этого компаньона. |
api_framework | stringAPI-фреймворк для этого дополнения. |
tracking_events | [object(TrackingEvent)]Список событий отслеживания для этого компаньона. |
Интерактивный файл
Файл InteractiveFile содержит информацию об интерактивном креативе (т.е. SIMID), который должен отображаться во время воспроизведения рекламы.| JSON-представление |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Поля | |
|---|---|
resource | stringURL-адрес интерактивного рекламного материала. |
type | stringMIME-тип файла, предоставленного в качестве ресурса. |
variable_duration | booleanВозможно ли, что автор данного творческого произведения попросит продлить срок действия? |
ad_parameters | stringЗначение узла <AdParameters> в VAST. |