API динамической вставки рекламы позволяет запрашивать и отслеживать потоки DAI по запросу.
Сервис: dai.google.com
Все URI указаны относительно https://dai.google.com .
Метод: создать поток
Этот метод создает поток непосредственно с устройства, возвращая все ресурсы, необходимые клиентскому приложению для воспроизведения и отслеживания рекламы, а также отображения элементов пользовательского интерфейса.
| Методы | |
|---|---|
create stream | POST: /ondemand/pods/api/v1/network/{network_code}/streamСоздайте модуль DAI, обслуживающий сеансы VOD. |
HTTP-запрос
POST https://dai.google.com/ondemand/pods/api/v1/network/{network_code}/stream
Параметры пути
| Параметры | |
|---|---|
network_code | stringСетевой код Google Ad Manager издателя. |
Текст запроса
Тело запроса имеет тип application/json и должно содержать объект CreateStreamRequest .
Тело ответа
В случае успеха тело ответа содержит новый объект CreateStreamResponse .
Метод: регистр потока
Этот метод регистрирует поток с устройства на бэкенде Google DAI, возвращая все ресурсы, необходимые клиентскому приложению для отслеживания рекламы и отображения элементов пользовательского интерфейса. В отличие от метода create stream , этот метод не возвращает манифест воспроизводимой рекламы. Вместо этого это действие выполняется в отдельном вызове сервера: decision ad pods .
| Методы | |
|---|---|
register stream | POST: /ondemand/pods/api/v1/network/{network_code}/stream_registrationРегистрирует модуль DAI, обслуживающий сеанс VOD. |
HTTP-запрос
POST https://dai.google.com/ondemand/pods/api/v1/network/{network_code}/stream_registration
Параметры пути
| Параметры | |
|---|---|
network_code | stringСетевой код Google Ad Manager издателя. |
Текст запроса
Тело запроса имеет тип application/json и должно содержать объект StreamRegistrationRequest .
Тело ответа
В случае успеха тело ответа содержит новый объект StreamRegistrationResponse .
Метод: извлечение рекламных модулей
Этот метод следует за вызовом register stream с устройства и необходим для извлечения воспроизводимых манифестов рекламы для вставки в манифесты контента.
| Методы | |
|---|---|
decision ad pods | POST: /ondemand/pods/api/v1/network/{network_code}/streams/{stream_id}/adpodsМодули рекламы решений для модуля DAI, обслуживающего сеансы VOD. |
HTTP-запрос
POST https://dai.google.com/ondemand/pods/api/v1/network/{network_code}/streams/{stream_id}/adpods
Параметры пути
| Параметры | |
|---|---|
network_code | stringСетевой код Google Ad Manager издателя. |
stream_id | stringИдентификатор stream_id, полученный при вызове stream_registration. |
Текст запроса
Тело запроса имеет тип application/json и должно содержать объект AdPodDecisionRequest .
Тело ответа
В случае успеха тело ответа содержит новый объект AdPodDecisionResponse .
Метод: метаданные рекламных модулей
Этот метод возвращает всю информацию, необходимую клиентскому приложению для отслеживания рекламы и точной визуализации соответствующих элементов пользовательского интерфейса.
| Методы | |
|---|---|
ad pods metadata | GET: /ondemand/pods/api/v1/network/.../metadata Извлечение метаданных рекламных модулей для конкретного сеанса. Этот URL-адрес возвращается в атрибуте metadata_url |
HTTP-запрос
GET: /ondemand/pods/api/v1/network/.../metadata
Тело ответа
В случае успеха тело ответа содержит объект Ad pods metadata .
API-объекты
PodMetadata
PodMetadata содержит метаданные о рекламе, рекламных паузах и тегах идентификаторов медиа.| JSON-представление |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
"polling_frequency": number,
} |
| Поля | |
|---|---|
tags | map[string, object(TagSegment)]Карта сегментов тегов, индексированных по префиксу тега. |
ads | map[string, object(Ad)]Карта объявлений, проиндексированных по идентификатору объявления. |
ad_breaks | map[string, object(AdBreak)]Карта рекламных пауз, проиндексированная по идентификатору рекламной паузы. |
polling_frequency | numberРекомендуемая частота опроса URL-адресов метаданных (в секундах). Заполняется для потоков VOD с использованием принятия решений по запросу. |
TagSegment
TagSegment содержит ссылку на объявление, рекламную паузу и тип события. TagSegment с type="progress" не следует отправлять на конечную точку проверки рекламного контента.| JSON-представление |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| Поля | |
|---|---|
ad | stringИдентификатор объявления этого тега. |
ad_break_id | stringИдентификатор рекламной паузы этого тега. |
type | stringТип события этого тега. |
AdBreak
AdBreak описывает отдельную рекламную паузу в потоке. Она содержит данные о длительности, типе (середина/до/после) и количестве рекламных блоков.| JSON-представление |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| Поля | |
|---|---|
type | stringДопустимые типы перерывов: предварительный, средний и последующий. |
duration | numberОбщая продолжительность рекламной паузы в секундах. |
expected_duration | numberОжидаемая продолжительность рекламной паузы (в секундах), включая всю рекламу и любой рекламный блок. |
ads | numberКоличество объявлений в рекламной паузе. |
Объявление
Реклама описывает рекламу в ленте.| JSON-представление |
|---|
{
"ad_break_id": string,
"position": 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,
"click_tracking_urls": [],
"verifications": [object(Verification)],
"slate": boolean,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"universal_ad_id": object(UniversalAdID),
"extensions": [],
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
} |
| Поля | |
|---|---|
ad_break_id | stringИдентификатор рекламной паузы этого объявления. |
position | numberПоложение данного объявления в рекламной паузе, начиная с 1. |
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-адрес для перехода по клику. |
click_tracking_urls | stringДополнительные URL-адреса отслеживания кликов. |
verifications | [object(Verification)]Дополнительные записи проверки Open Measurement, в которых перечислены ресурсы и метаданные, необходимые для выполнения стороннего кода измерения с целью проверки воспроизведения креатива. |
slate | booleanНеобязательный логический параметр, указывающий, что текущая запись — сланец. |
icons | [object(Icon)]Список значков (если пустой, то он опущен). |
wrappers | [object(Wrapper)]Список оболочек (если пустой, то опускается). |
universal_ad_id | object(UniversalAdID)Дополнительный универсальный идентификатор объявления. |
extensions | stringДополнительный список всех узлов <Extension> в VAST. |
companions | [object(Companion)]Дополнительные сопутствующие материалы, которые могут отображаться вместе с этим объявлением. |
interactive_file | object(InteractiveFile)Дополнительный интерактивный креатив (SIMID), который должен отображаться во время воспроизведения рекламы. |
MatchOpts
MatchOpts задает строгие требования к соответствию медиаконтента для потока.| JSON-представление |
|---|
{
"audio_channels": boolean,
"audio_sample_rate": boolean,
} |
| Поля | |
|---|---|
audio_channels | booleanСопоставьте аудиоканалы между контентом и рекламой. |
audio_sample_rate | booleanСопоставьте частоту дискретизации звука между контентом и рекламой. |
CreateStreamRequest
CreateStreamRequest описывает информацию, содержащуюся в HTTP-запросах к API обслуживания VOD-модулей. Создание потока инициируется VTP (технологическим партнёром по видео) от имени SDK и издателя для каждого пользователя. В результате создания потока формируются рекламные модули с принятыми решениями, которые VTP может сшить. Это отличается от потока StreamRegistrationRequest+AdPodDecisionRequest, который регистрирует поток и рекламные модули с принятыми решениями в нескольких запросах.| JSON-представление |
|---|
{ "encoding_profiles": [object(EncodingProfile)], "ad_tag": string, "cuepoints": [], "manifest_type": string, "enable_hls_asset_list": boolean, "targeting_parameters": map[string, string], "content_duration_seconds": number, "decision_timing_options": object(DecisionTimingOptions), "enable_inline_manifests": boolean, "dai_options": object(CreateStreamOptions), } |
| Поля | |
|---|---|
encoding_profiles | [object(EncodingProfile)]Список профилей кодирования. Обязательно. |
ad_tag | stringБазовый тег объявления для принятия решений. Обязательно. |
cuepoints | numberСписок контрольных точек в секундах. Требуется, если в ответе рекламного тега используются позиционные смещения времени. |
manifest_type | stringДопустимые типы манифеста: hls и dash. Значение по умолчанию: hls. Необязательно. |
enable_hls_asset_list | booleanУказывает, включены ли полноэкранные объявления со списком ресурсов HLS. Если включено, DAI будет возвращать URL-адреса списков ресурсов для каждой рекламной паузы, которые можно использовать для полноэкранных объявлений HLS. |
targeting_parameters | stringДополнительные параметры таргетинга Менеджера рекламы. Необязательно. |
content_duration_seconds | numberContentDurationSeconds — это продолжительность контента в секундах. Требуется, если в ответе тега объявления используются процентные смещения времени. |
decision_timing_options | object(DecisionTimingOptions)Указывает, когда следует принимать решение по адподам. |
enable_inline_manifests | booleanУказывает, следует ли встраивать манифесты остановок в ответ JSON. |
dai_options | object(CreateStreamOptions)DAIOptions для создания потока. |
CreateStreamOptions
CreateStreamOptions представляет параметры, доступные в одношаговом рабочем процессе создания потока.| JSON-представление |
|---|
{
"dash_profile": string,
"match_options": object(MatchOpts),
"data_sharing_policy_code": string,
"sam_id": string,
"session_title": string,
"dash_inband_event_stream": boolean,
"distinct_ad_profiles": boolean,
"tracking_mode": string,
"emsg_version": uint32,
} |
| Поля | |
|---|---|
dash_profile | stringПрофиль MPEG-DASH для использования: «в прямом эфире» или «по запросу». |
match_options | object(MatchOpts) |
data_sharing_policy_code | stringПозволяет издателям переопределять политику обмена данными в сети по умолчанию. |
sam_id | stringsam_id — ключ отладки SAM для сеанса, необязательный. |
session_title | stringsession_title — заголовок сеанса SAM для потока, необязательно. |
dash_inband_event_stream | booleandash_inband_event_stream указывает, что DAI вставляет сообщения ID3 как внутриполосные события (in-media) с использованием элемента InbandEventStream, а не как элементы EventStream (in-manifest). |
distinct_ad_profiles | booleanЕсли установлено значение true, это означает, что сервер будет использовать любой доступный профиль рекламы не более одного раза при сопоставлении запрошенных профилей кодирования. |
tracking_mode | stringtracking_mode — тип отслеживания рекламы, используемый для потока (необязательно). Допустимые значения: ad_media, server, client. |
emsg_version | uint32emsg_version принудительно устанавливает определённую версию emsg для идентификаторов ID3 в медиаконтенте. Поддерживается только при значении dash_inband_event_stream равном true. |
Запрос на регистрацию потока
StreamRegistrationRequest регистрирует поток с устройства для последующего принятия решений о выборе подсистемы AdPod. Это отличается от CreateStreamRequest, который создаёт поток и принимает решения о выборе подсистемы AdPod в одном запросе.| JSON-представление |
|---|
{
"targeting_parameters": map[string, string],
"dai_options": object(StreamRegistrationOptions),
} |
| Поля | |
|---|---|
targeting_parameters | stringДополнительные параметры таргетинга Менеджера рекламы. Необязательно. |
dai_options | object(StreamRegistrationOptions)DAIOptions для регистрации потока. |
Параметры регистрации потока
StreamRegistrationOptions перечисляет доступные параметры для создания потока.| JSON-представление |
|---|
{
"sam_id": string,
"tracking_mode": string,
"emsg_version": uint32,
"skippable_ads_supported": boolean,
} |
| Поля | |
|---|---|
sam_id | stringsam_id — ключ отладки SAM для сеанса, необязательный. |
tracking_mode | stringtracking_mode — тип отслеживания рекламы, используемый для потока (необязательно). Допустимые значения: ad_media, server, client. |
emsg_version | uint32emsg_version принудительно устанавливает определённую версию emsg для идентификаторов ID3 в медиаконтенте. Поддерживается только при значении dash_inband_event_stream равном true. |
skippable_ads_supported | booleanУказывает, поддерживаются ли пропускаемые объявления. |
StreamRegistrationResponse
StreamRegistrationResponse представляет собой JSON-ответ, отправляемый клиенту в ответ на StreamRegistrationRequest. Он включает идентификатор потока и все URL-адреса, необходимые устройству. Идентификатор потока может быть использован в последующем запросе на принятие решения о создании рекламного модуля (ADPOD). Это отличается от CreateStreamResponse, который представляет собой ответ на создание потока и принятие решения о создании рекламного модуля (ADPOD) одновременно.| JSON-представление |
|---|
{
"stream_id": string,
"media_verification_url": string,
"valid_for": string,
"valid_until": string,
"metadata_url": string,
} |
| Поля | |
|---|---|
stream_id | stringStreamID — уникальный идентификатор текущего потока данного зрителя. |
media_verification_url | stringMediaVerificationURL — префикс URL, используемый в запросах на проверку рекламных медиаконтента, описанных ниже. Отсутствует для потоков с маяками на стороне клиента. |
valid_for | stringValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s». |
valid_until | stringValidUntil — дата и время, до которых данный поток действителен. |
metadata_url | stringMetadataURL — это URL-адрес метаданных, который будет использоваться для запроса метаданных AdPod. |
Варианты принятия решений
DecisionTimingOptions описывает параметры времени принятия решения о рекламных паузах для трансляции.| JSON-представление |
|---|
{ "type": string, "on_create_breaks": [], } |
| Поля | |
|---|---|
type | stringТип определяет, когда принимаются решения о показе рекламы для потока. Допустимые типы: on_create (по умолчанию), on_demand. Если тип — on_demand, реклама принимается автоматически при запросе манифеста для конкретного перерыва. Если тип — on_create, все объявления принимаются решения при создании потока. |
on_create_breaks | stringOnCreateBreaks — это список идентификаторов рекламной паузы VMAP (с учётом регистра), которые должны быть выбраны при создании трансляции. Это поле разрешено только для типа on_demand. Специальные идентификаторы рекламной паузы «preroll» и «postroll» можно использовать для указания того, что решение о выборе паузы в преролле или постролле должно быть принято при создании трансляции. |
EncodingProfile
EncodingProfile описывает кодирование одного варианта контента. Он может содержать только настройки видео, только настройки звука (в случае типа медиа), как видео, так и аудио, или не содержать их вообще в случае субтитров.| JSON-представление |
|---|
{ "profile_name": string, "type": string, "container_type": string, "video_settings": object(VideoSettings), "audio_settings": object(AudioSettings), "subtitle_settings": object(SubtitleSettings), } |
| Поля | |
|---|---|
profile_name | stringИздатель предоставил имя для профиля. Уникальное для каждого потока. Обязательно. |
type | stringДопустимые типы: медиа, iframe, субтитры. Обязательно. |
container_type | stringДопустимые типы: mpeg2ts, fmp4cmaf и hls_packed_audio. Обязательно для типов media и iframe. |
video_settings | object(VideoSettings)Настройки видео обязательны, если тип контейнера — iframe. В противном случае они присутствуют только если профиль содержит видео. |
audio_settings | object(AudioSettings)Настройки звука присутствуют, если профиль содержит аудио. Настройки звука разрешены только если тип контейнера — «медиа». |
subtitle_settings | object(SubtitleSettings)Настройки субтитров необходимы для типа субтитров. |
Настройки видео
Параметр VideoSettings описывает видео профиля кодирования. Если присутствует одна настройка видео, должны присутствовать все остальные.| JSON-представление |
|---|
{
"codec": string,
"bitrate": int32,
"frames_per_second": number,
"resolution": object(Resolution),
} |
| Поля | |
|---|---|
codec | stringСтрока кодека RFC6381 видео. |
bitrate | int32Максимальный битрейт видео профиля кодирования. |
frames_per_second | numberКадры в секунду видео. |
resolution | object(Resolution)Разрешение видео по ширине и высоте. |
Настройки звука
Параметр AudioSettings описывает аудио в профиле кодирования. Если присутствует одна аудионастройка, должны присутствовать все остальные.| JSON-представление |
|---|
{
"codec": string,
"bitrate": int32,
"channels": int32,
"sample_rate": int64,
} |
| Поля | |
|---|---|
codec | stringСтрока кодека RFC6381 аудио. |
bitrate | int32Максимальный битрейт аудио профиля кодирования. |
channels | int32Количество аудиоканалов (включая низкочастотные каналы). |
sample_rate | int64Частота дискретизации звука в герцах. |
Настройки субтитров
SubtitleSettings описывает субтитры профилей кодирования.| JSON-представление |
|---|
{
"format": string,
"language": string,
} |
| Поля | |
|---|---|
format | stringФормат субтитров: webvtt для hls, webvtt или ttml для dash. |
language | stringЯзык, который необходимо вставить в манифест. |
Разрешение
Разрешение описывает ширину x высоту видео.| JSON-представление |
|---|
{
"width": int32,
"height": int32,
} |
| Поля | |
|---|---|
width | int32Ширина видео в пикселях. Обязательно. |
height | int32Высота видео в пикселях. Обязательно. |
AdPodDecisionRequest
AdPodDecisionRequest представляет собой запрос на принятие решения о adpods для ранее зарегистрированного потока.| JSON-представление |
|---|
{ "encoding_profiles": [object(EncodingProfile)], "ad_tag": string, "cuepoints": [], "manifest_type": string, "enable_hls_asset_list": boolean, "targeting_parameters": map[string, string], "content_duration_seconds": number, "decision_timing_options": object(DecisionTimingOptions), "enable_inline_manifests": boolean, "dai_options": object(AdPodDecisionOptions), } |
| Поля | |
|---|---|
encoding_profiles | [object(EncodingProfile)]Список профилей кодирования. Обязательно. |
ad_tag | stringБазовый тег объявления для принятия решений. Обязательно. |
cuepoints | numberСписок контрольных точек в секундах. Требуется, если в ответе рекламного тега используются позиционные смещения времени. |
manifest_type | stringДопустимые типы манифеста: hls и dash. Значение по умолчанию: hls. Необязательно. |
enable_hls_asset_list | booleanУказывает, включены ли полноэкранные объявления со списком ресурсов HLS. Если включено, DAI будет возвращать URL-адреса списков ресурсов для каждой рекламной паузы, которые можно использовать для полноэкранных объявлений HLS. |
targeting_parameters | stringДополнительные параметры таргетинга Менеджера рекламы. Необязательно. |
content_duration_seconds | numberContentDurationSeconds — это продолжительность контента в секундах. Требуется, если в ответе тега объявления используются процентные смещения времени. |
decision_timing_options | object(DecisionTimingOptions)Указывает, когда следует принимать решение по адподам. |
enable_inline_manifests | booleanУказывает, следует ли встраивать манифесты остановок в ответ JSON. |
dai_options | object(AdPodDecisionOptions)DAIOptions для принятия решения о рекламном блоке. |
AdPodDecisionResponse
AdPodDecisionResponse представляет собой ответ на рекламные модули решений для ранее зарегистрированного потока. Он содержит список рекламных модулей, принятых для этого потока.| JSON-представление |
|---|
{
"valid_for": string,
"valid_until": string,
"ad_pods": [object(AdPod)],
} |
| Поля | |
|---|---|
valid_for | stringValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s». |
valid_until | stringValidUntil — дата и время, до которых данный поток действителен. |
ad_pods | [object(AdPod)]Список рекламных модулей, упорядоченных по порядку вставки. |
CreateStreamResponse
CreateStreamResponse представляет собой ответ JSON, отправляемый клиенту в ответ на CreateStreamRequest.| JSON-представление |
|---|
{
"valid_for": string,
"valid_until": string,
"ad_pods": [object(AdPod)],
"stream_id": string,
"media_verification_url": string,
"pod_metadata": object(PodMetadata),
"metadata_url": string,
} |
| Поля | |
|---|---|
valid_for | stringValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s». |
valid_until | stringValidUntil — дата и время, до которых данный поток действителен. |
ad_pods | [object(AdPod)]Список рекламных модулей, упорядоченных по порядку вставки. |
stream_id | stringStreamID — уникальный идентификатор текущего потока данного зрителя. |
media_verification_url | stringMediaVerificationURL — префикс URL, используемый в запросах на проверку рекламных медиаконтента, описанных ниже. Отсутствует для потоков с маяками на стороне клиента. |
pod_metadata | object(PodMetadata)PodMetadata содержит дополнительную информацию, необходимую для отображения pod на устройстве и запуска проверки. Как описано в документации по линейному API динамической вставки рекламы. Включено только для клиентских потоков маяков. |
metadata_url | stringMetadataURL — это URL-адрес метаданных, который будет использоваться для запроса метаданных AdPod. |
AdPod
AdPod представляет собой заранее подготовленную рекламную паузу, готовую к воспроизведению.| JSON-представление |
|---|
{ "manifest_uris": map[string, string], "multivariant_uri": string, "mpd_uri": string, "manifests": map[string, string], "multivariant_manifest": string, "mpd_manifest": string, "asset_list_uri": string, "start": number, "duration": number, "type": string, "midroll_index": number, } |
| Поля | |
|---|---|
manifest_uris | stringManifestURIs — это сопоставление имени профиля кодирования с вариантом HLS manifest_uris для содержимого HLS. |
multivariant_uri | stringMultivariantURI — это URI для многовариантного манифеста для контента HLS. |
mpd_uri | stringMPDURI — это URI для MPD для контента DASH. |
manifests | stringManifests — это сопоставление имени профиля кодирования с манифестом варианта HLS. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true. |
multivariant_manifest | stringMultivariantManifest — это многовариантный манифест для контента HLS. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true. |
mpd_manifest | stringMPDManifest — это манифест MPD для контента DASH. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true. |
asset_list_uri | stringAssetListURI — это URI для списка ресурсов HLS-вставок для HLS-контента. Заполняется только в том случае, если в потоке включены HLS-вставки. |
start | numberВремя начала рекламного модуля на временной шкале актива (без учета предыдущих рекламных модулей) в секундах с плавающей запятой. |
duration | numberДлительность показа рекламного модуля в секундах с плавающей запятой. |
type | stringТип рекламной паузы. |
midroll_index | numberИндекс промежуточных роликов в потоке, начинающийся с 1, основан на идентификаторе паузы VMAP. Не учитывается для прероллов и построллов. |
AdPodDecisionOptions
AdPodDecisionOptions представляет дополнительные параметры для потока.| JSON-представление |
|---|
{
"dash_profile": string,
"match_options": object(MatchOpts),
"data_sharing_policy_code": string,
"sam_id": string,
"session_title": string,
"dash_inband_event_stream": boolean,
"distinct_ad_profiles": boolean,
} |
| Поля | |
|---|---|
dash_profile | stringПрофиль MPEG-DASH для использования: «в прямом эфире» или «по запросу». |
match_options | object(MatchOpts) |
data_sharing_policy_code | stringПозволяет издателям переопределять политику обмена данными в сети по умолчанию. |
sam_id | stringsam_id — ключ отладки SAM для сеанса, необязательный. |
session_title | stringsession_title — заголовок сеанса SAM для потока, необязательно. |
dash_inband_event_stream | booleandash_inband_event_stream указывает, что DAI вставляет сообщения ID3 как внутриполосные события (in-media) с использованием элемента InbandEventStream, а не как элементы EventStream (in-manifest). |
distinct_ad_profiles | booleanЕсли установлено значение true, это означает, что сервер будет использовать любой доступный профиль рекламы не более одного раза при сопоставлении запрошенных профилей кодирования. |
Транслировать
Stream используется для отображения списка всех ресурсов для вновь созданного потока в формате JSON.| JSON-представление |
|---|
{
"stream_id": string,
"valid_for": string,
"valid_until": string,
"media_verification_url": string,
} |
| Поля | |
|---|---|
stream_id | stringИдентификатор потока. |
valid_for | stringДлительность трансляции действительна в формате «00h00m00s». |
valid_until | stringДата, до которой действителен поток, в формате RFC 3339. |
media_verification_url | stringURL-адрес для проверки медиафайлов. |
Икона
Значок содержит информацию об значке 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 содержит информацию о рекламном объявлении. Если идентификатор сделки отсутствует, он не отображается.| 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_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Непрозрачная строка, переданная в код проверки bootstrap. |
JavaScriptResource
JavaScriptResource содержит информацию для проверки через JavaScript.| JSON-представление |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| Поля | |
|---|---|
script_url | stringURI для полезной нагрузки JavaScript. |
api_framework | stringAPIFramework — название видеофреймворка, реализующего код проверки. |
browser_optional | booleanМожно ли запустить этот скрипт вне браузера? |
TrackingEvent
TrackingEvent содержит URL-адреса, которые клиент должен пинговать в определенных ситуациях.| JSON-представление |
|---|
{
"event": string,
"uri": string,
} |
| Поля | |
|---|---|
event | stringТип события отслеживания. |
uri | stringСобытие отслеживания, для которого необходимо выполнить пинг. |
UniversalAdID
UniversalAdID используется для предоставления уникального идентификатора креатива, который поддерживается во всех рекламных системах.| JSON-представление |
|---|
{ "id_value": string, "id_registry": string, } |
| Поля | |
|---|---|
id_value | stringУниверсальный идентификатор выбранного креатива для рекламы. |
id_registry | stringСтрока, используемая для идентификации URL-адреса веб-сайта реестра, на котором каталогизирован универсальный идентификатор рекламы выбранного креатива. |
Компаньон
Companion содержит информацию о сопутствующих объявлениях, которые могут отображаться вместе с рекламой.| 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, если это сопутствующий элемент статического типа. |
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
InteractiveFile содержит информацию для интерактивного креатива (т. е. SIMID), которая должна отображаться во время воспроизведения рекламы.| JSON-представление |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Поля | |
|---|---|
resource | stringURL-адрес интерактивного креатива. |
type | stringТип MIME файла, предоставленного в качестве ресурса. |
variable_duration | booleanМожет ли данный креатив запрашивать продление длительности. |
ad_parameters | stringЗначение узла <AdParameters> в VAST. |