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
.
Данные
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 |
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. |