Модуль динамической вставки рекламы, обслуживающий API VOD, Модуль динамической вставки рекламы, обслуживающий API VOD

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 StreamRegistrationResponse .

HTTP-запрос

GET: /ondemand/pods/api/v1/network/.../metadata

Тело ответа

В случае успеха тело ответа содержит объект Ad pods metadata .

Данные

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 number

ContentDurationSeconds — это продолжительность контента в секундах. Требуется, если в ответе тега объявления используются процентные смещения времени.
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 string

sam_id — ключ отладки SAM для сеанса, необязательный.
session_title string

session_title — заголовок сеанса SAM для потока, необязательно.
dash_inband_event_stream boolean

dash_inband_event_stream указывает, что DAI вставляет сообщения ID3 как внутриполосные события (in-media) с использованием элемента InbandEventStream, а не как элементы EventStream (in-manifest).
distinct_ad_profiles boolean

Если установлено значение true, это означает, что сервер будет использовать любой доступный профиль рекламы не более одного раза при сопоставлении запрошенных профилей кодирования.
tracking_mode string

tracking_mode — тип отслеживания рекламы, используемый для потока (необязательно). Допустимые значения: ad_media, server, client.
emsg_version uint32

emsg_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 string

sam_id — ключ отладки SAM для сеанса, необязательный.
tracking_mode string

tracking_mode — тип отслеживания рекламы, используемый для потока (необязательно). Допустимые значения: ad_media, server, client.
emsg_version uint32

emsg_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 string

StreamID — уникальный идентификатор текущего потока данного зрителя.
media_verification_url string

MediaVerificationURL — префикс URL, используемый в запросах на проверку рекламных медиаконтента, описанных ниже. Отсутствует для потоков с маяками на стороне клиента.
valid_for string

ValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s».
valid_until string

ValidUntil — дата и время, до которых данный поток действителен.
metadata_url string

MetadataURL — это URL-адрес метаданных, который будет использоваться для запроса метаданных AdPod.

Варианты принятия решений

DecisionTimingOptions описывает параметры времени принятия решения о рекламных паузах для трансляции.
JSON-представление
{
  "type": string,
  "on_create_breaks": [],
}
Поля
type string

Тип определяет, когда принимаются решения о показе рекламы для потока. Допустимые типы: on_create (по умолчанию), on_demand. Если тип — on_demand, реклама принимается автоматически при запросе манифеста для конкретного перерыва. Если тип — on_create, все объявления принимаются решения при создании потока.
on_create_breaks string

OnCreateBreaks — это список идентификаторов рекламной паузы 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 number

ContentDurationSeconds — это продолжительность контента в секундах. Требуется, если в ответе тега объявления используются процентные смещения времени.
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 string

ValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s».
valid_until string

ValidUntil — дата и время, до которых данный поток действителен.
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 string

ValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s».
valid_until string

ValidUntil — дата и время, до которых данный поток действителен.
ad_pods [object(AdPod)]

Список рекламных модулей, упорядоченных по порядку вставки.
stream_id string

StreamID — уникальный идентификатор текущего потока данного зрителя.
media_verification_url string

MediaVerificationURL — префикс URL, используемый в запросах на проверку рекламных медиаконтента, описанных ниже. Отсутствует для потоков с маяками на стороне клиента.
pod_metadata object(PodMetadata)

PodMetadata содержит дополнительную информацию, необходимую для отображения pod на устройстве и запуска проверки. Как описано в документации по линейному API динамической вставки рекламы. Включено только для клиентских потоков маяков.
metadata_url string

MetadataURL — это 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 string

ManifestURIs — это сопоставление имени профиля кодирования с вариантом HLS manifest_uris для содержимого HLS.
multivariant_uri string

MultivariantURI — это URI для многовариантного манифеста для контента HLS.
mpd_uri string

MPDURI — это URI для MPD для контента DASH.
manifests string

Manifests — это сопоставление имени профиля кодирования с манифестом варианта HLS. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true.
multivariant_manifest string

MultivariantManifest — это многовариантный манифест для контента HLS. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true.
mpd_manifest string

MPDManifest — это манифест MPD для контента DASH. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true.
asset_list_uri string

AssetListURI — это 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 string

sam_id — ключ отладки SAM для сеанса, необязательный.
session_title string

session_title — заголовок сеанса SAM для потока, необязательно.
dash_inband_event_stream boolean

dash_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 string

URL-адрес для проверки медиафайлов.

Икона

Значок содержит информацию об значке 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 string

URI для полезной нагрузки JavaScript.
api_framework string

APIFramework — название видеофреймворка, реализующего код проверки.
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 string

API-фреймворк для этого компаньона.
tracking_events [object(TrackingEvent)]

Список событий отслеживания для этого компаньона.

InteractiveFile

InteractiveFile содержит информацию для интерактивного креатива (т. е. SIMID), которая должна отображаться во время воспроизведения рекламы.
JSON-представление
{
  "resource": string,
  "type": string,
  "variable_duration": boolean,
  "ad_parameters": string,
}
Поля
resource string

URL-адрес интерактивного креатива.
type string

Тип MIME файла, предоставленного в качестве ресурса.
variable_duration boolean

Может ли данный креатив запрашивать продление длительности.
ad_parameters string

Значение узла <AdParameters> в VAST.
,

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 StreamRegistrationResponse .

HTTP-запрос

GET: /ondemand/pods/api/v1/network/.../metadata

Тело ответа

В случае успеха тело ответа содержит объект Ad pods metadata .

Данные

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 number

ContentDurationSeconds — это продолжительность контента в секундах. Требуется, если в ответе тега объявления используются процентные смещения времени.
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 string

sam_id — ключ отладки SAM для сеанса, необязательный.
session_title string

session_title — заголовок сеанса SAM для потока, необязательно.
dash_inband_event_stream boolean

dash_inband_event_stream указывает, что DAI вставляет сообщения ID3 как внутриполосные события (in-media) с использованием элемента InbandEventStream, а не как элементы EventStream (in-manifest).
distinct_ad_profiles boolean

Если установлено значение true, это означает, что сервер будет использовать любой доступный профиль рекламы не более одного раза при сопоставлении запрошенных профилей кодирования.
tracking_mode string

tracking_mode — тип отслеживания рекламы, используемый для потока (необязательно). Допустимые значения: ad_media, server, client.
emsg_version uint32

emsg_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 string

sam_id — ключ отладки SAM для сеанса, необязательный.
tracking_mode string

tracking_mode — тип отслеживания рекламы, используемый для потока (необязательно). Допустимые значения: ad_media, server, client.
emsg_version uint32

emsg_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 string

StreamID — уникальный идентификатор текущего потока данного зрителя.
media_verification_url string

MediaVerificationURL — префикс URL, используемый в запросах на проверку рекламных медиаконтента, описанных ниже. Отсутствует для потоков с маяками на стороне клиента.
valid_for string

ValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s».
valid_until string

ValidUntil — дата и время, до которых данный поток действителен.
metadata_url string

MetadataURL — это URL-адрес метаданных, который будет использоваться для запроса метаданных AdPod.

Варианты принятия решений

DecisionTimingOptions описывает параметры времени принятия решения о рекламных паузах для трансляции.
JSON-представление
{
  "type": string,
  "on_create_breaks": [],
}
Поля
type string

Тип определяет, когда принимаются решения о показе рекламы для потока. Допустимые типы: on_create (по умолчанию), on_demand. Если тип — on_demand, реклама принимается автоматически при запросе манифеста для конкретного перерыва. Если тип — on_create, все объявления принимаются решения при создании потока.
on_create_breaks string

OnCreateBreaks — это список идентификаторов рекламной паузы 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 number

ContentDurationSeconds — это продолжительность контента в секундах. Требуется, если в ответе тега объявления используются процентные смещения времени.
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 string

ValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s».
valid_until string

ValidUntil — дата и время, до которых данный поток действителен.
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 string

ValidFor — это продолжительность, в течение которой данный поток действителен, в формате «00h00m00s».
valid_until string

ValidUntil — дата и время, до которых данный поток действителен.
ad_pods [object(AdPod)]

Список рекламных модулей, упорядоченных по порядку вставки.
stream_id string

StreamID — уникальный идентификатор текущего потока данного зрителя.
media_verification_url string

MediaVerificationURL — префикс URL, используемый в запросах на проверку рекламных медиаконтента, описанных ниже. Отсутствует для потоков с маяками на стороне клиента.
pod_metadata object(PodMetadata)

PodMetadata содержит дополнительную информацию, необходимую для отображения pod на устройстве и запуска проверки. Как описано в документации по линейному API динамической вставки рекламы. Включено только для клиентских потоков маяков.
metadata_url string

MetadataURL — это 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 string

ManifestURIs — это сопоставление имени профиля кодирования с вариантом HLS manifest_uris для содержимого HLS.
multivariant_uri string

MultivariantURI — это URI для многовариантного манифеста для контента HLS.
mpd_uri string

MPDURI — это URI для MPD для контента DASH.
manifests string

Manifests — это сопоставление имени профиля кодирования с манифестом варианта HLS. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true.
multivariant_manifest string

MultivariantManifest — это многовариантный манифест для контента HLS. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true.
mpd_manifest string

MPDManifest — это манифест MPD для контента DASH. Заполняется только в том случае, если для потока параметр enable_inline_manifests установлен в значение true.
asset_list_uri string

AssetListURI — это 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 string

sam_id — ключ отладки SAM для сеанса, необязательный.
session_title string

session_title — заголовок сеанса SAM для потока, необязательно.
dash_inband_event_stream boolean

dash_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 string

URL-адрес проверки носителя.

Икона

Значок содержит информацию о значке 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 содержит информацию о клике по значку.
JSON-представление
{
  "url": string,
}
Поля
url string

Резервное изображение

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

Обертка

Обертка содержит информацию об объявлении-обертке. Он не включает идентификатор сделки, если он не существует.
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

Необязательный идентификатор сделки для объявления-контейнера.

Проверка

Проверка содержит информацию для открытого измерения, которая облегчает стороннее измерение видимости и проверки. В настоящее время поддерживаются только ресурсы 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

Непрозрачная строка, передаваемая в код проверки начальной загрузки.

JavaScriptРесурс

JavaScriptResource содержит информацию для проверки через JavaScript.
JSON-представление
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
Поля
script_url string

URI для полезных данных JavaScript.
api_framework string

APIFramework — это имя платформы видео, использующей код проверки.
browser_optional boolean

Можно ли запустить этот скрипт вне браузера.

Событие отслеживания

TrackingEvent содержит URL-адреса, которые клиент должен проверять в определенных ситуациях.
JSON-представление
{
  "event": string,
  "uri": string,
}
Поля
event string

Тип события отслеживания.
uri string

Событие отслеживания, которое необходимо проверить.

Универсальный идентификатор рекламы

UniversalAdID используется для предоставления уникального идентификатора креатива, который сохраняется во всех рекламных системах.
JSON-представление
{
  "id_value": string,
  "id_registry": string,
}
Поля
id_value string

Универсальный рекламный идентификатор выбранного креатива для объявления.
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 string

Платформа API для этого компаньона.
tracking_events [object(TrackingEvent)]

Список событий отслеживания для этого компаньона.

ИнтерактивныйФайл

InteractiveFile содержит информацию об интерактивном креативе (т. е. SIMID), который должен отображаться во время воспроизведения рекламы.
JSON-представление
{
  "resource": string,
  "type": string,
  "variable_duration": boolean,
  "ad_parameters": string,
}
Поля
resource string

URL-адрес интерактивного объявления.
type string

MIME-тип файла, предоставленного в качестве ресурса.
variable_duration boolean

Может ли это объявление запросить продление срока действия.
ad_parameters string

Значение узла <AdParameters> в VAST.