Модуль динамической вставки объявлений с API в реальном времени

API динамической вставки рекламы позволяет запрашивать и отслеживать прямые трансляции DAI.

Сервис: dai.google.com

Все URI указаны относительно https://dai.google.com .

Метод: поток

Методы
stream POST /ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream

Регистрирует модуль DAI DAI, обслуживающий сеанс прямой трансляции.

HTTP-запрос

POST https://dai.google.com/ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream

Параметры пути

Параметры
network_code string

Сетевой код Google Ad Manager издателя.

custom_asset_key string

Пользовательский идентификатор, связанный с этим событием в Google Ad Manager.

Текст запроса

Тело запроса имеет тип application/x-www-form-urlencoded и содержит следующие параметры:

Параметры
Параметры таргетинга DFP Необязательный Дополнительные параметры таргетинга.
Переопределить параметры потока Необязательный Переопределить значения по умолчанию параметра создания потока.
Аутентификация HMAC Необязательный Аутентификация с использованием токена на основе HMAC.

Тело ответа

В случае успеха тело ответа содержит новый объект Stream .

Открытое измерение

API DAI содержит информацию для проверки Open Measurement в поле Verifications . Это поле содержит один или несколько элементов Verification , которые содержат список ресурсов и метаданных, необходимых для выполнения стороннего кода для проверки воспроизведения креатива. Поддерживается только JavaScriptResource . Подробнее см. в IAB Tech Lab и спецификации VAST 4.1 .

Метод: сегмент стручка

Методы
pod segment GET /linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}/profile/{profile_name}/{segment_number}.{segment_format}

Создает поток DAI для заданного идентификатора события.

HTTP-запрос

GET https://dai.google.com/linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}/profile/{profile_name}/{segment_number}.{segment_format}

Параметры пути

Параметры
network_code string

Сетевой код Google Ad Manager издателя.

custom_asset_key string

Пользовательский идентификатор, связанный с этим событием в Google Ad Manager.

pod_identifier

Поддерживаются следующие форматы:

pod/{integer}

Числовой идентификатор текущей рекламной паузы. Идентификаторы рекламных модулей присваиваются последовательно для каждого события рекламной паузы, начиная с 1 .

ad_break_id/{string}

Строковый идентификатор текущей рекламной паузы. Идентификатор рекламной паузы, предоставленный издателем, не имеет тех же ограничений, что и идентификатор рекламного модуля. Любой неизвестный идентификатор рекламной паузы, предоставленный этой конечной точке, создаёт новую рекламную паузу для события прямой трансляции.

profile_name string

Имя запрашиваемого профиля кодирования DAI в Google Ad Manager . Профиль кодирования должен быть одним из настроенных профилей кодирования для выбранного события.

segment_number integer

Индекс запрошенного сегмента в текущем рекламном модуле, начиная с нуля.

segment_format string

Расширение файла, связанное с запрошенным форматом сегмента. Допустимые расширения: ts , mp4 , vtt , aac , ac3 или eac3 .

Параметры запроса

Параметры
stream_id необходимый string

Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке stream .

sd required 1 integer

Длительность запрошенного сегмента в миллисекундах.

so необязательный

Смещение запрошенного сегмента в рекламном блоке в миллисекундах. Если параметр so опущен, оно будет рассчитано путём умножения длительности сегмента на его номер.

pd требуется 2 integer

Длительность рекламного блока в миллисекундах.

auth-token необходимый string

Подписанный, закодированный в URL токен HMAC для текущего рекламного модуля.

last необязательный boolean

Указывает последний сегмент рекламной паузы. Для всех остальных сегментов этот параметр следует пропустить.

scte35 необязательный string

Сигнал SCTE-35, закодированный в Base64, для этой рекламной паузы.

cust_params необязательный string

Набор пар «ключ-значение», используемых для таргетинга кампаний Менеджера рекламы. Эти пары должны быть представлены в виде строки запроса, закодированной в URL.

Пример:
Параметры
  • раздел = sports
  • страница = golf,tennis
Request URL ...&cust_params=section%3Dsports%26page%3Dgolf%2Ctennis...

Сноски

  1. sd не требуется для сегментов инициализации.
  2. pd не требуется для событий с включенными рекламными паузами без продолжительности.

Пример

ПОЛУЧИТЬ https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/ad_break_id/adbreak-2/profile/8b8888cf79ad43f0800482ffc035a1ac_ts_a/1.ts?so=0&sd=10000&pd=30000&stream_id=8e19cbc6-850b-404c-99d7-860aa4a674cb:TEST

ПОЛУЧИТЬ https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/pod/2/profile/8b8888cf79ad43f0800482ffc035a1ac_ts_a/1.ts?so=0&sd=10000&pd=30000&stream_id=8e19cbc6-850b-404c-99d7-860aa4a674cb:TEST

Тело ответа

В случае успеха тело ответа будет представлять собой воспроизводимый сегмент потока, соответствующий формату и параметрам, указанным в запросе.

Метод: манифест модуля HLS

Извлекает манифест рекламного модуля HLS прямой трансляции, готовый к загрузке и воспроизведению клиентским видеоплеером.

Методы
GET GET /linear/pods/v1/hls/network/{network_code}/custom_asset/{custom_asset}/{pod_identifier}.m3u8;

API для получения многовариантного плейлиста HLS для рекламного модуля.

HTTP-запрос

GET https://dai.google.com/linear/pods/v1/hls/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}.m3u8?stream_id={stream_id}&pd={pod_duration}

Параметры пути

Параметры
network_code string

Сетевой код Google Ad Manager издателя.

custom_asset_key string

Пользовательский идентификатор, связанный с этим событием в Google Ad Manager

pod_identifier

Поддерживаются следующие форматы:

pod/{integer}

Числовой идентификатор текущей рекламной паузы. Идентификаторы рекламных модулей присваиваются последовательно для каждого события рекламной паузы, начиная с 1 .

ad_break_id/{string}

Строковый идентификатор текущей рекламной паузы. Идентификатор рекламной паузы, предоставленный издателем, не имеет тех же ограничений, что и идентификатор рекламного модуля. Любой неизвестный идентификатор рекламной паузы, предоставленный этой конечной точке, создаёт новую рекламную паузу для события прямой трансляции.

Параметры запроса

Параметры
stream_id Необходимый string

Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке stream .

pd Необходимый integer

Длительность рекламного блока в миллисекундах.

scte35 необязательный string

Сигнал SCTE-35, закодированный в Base64, для этой рекламной паузы.

cust_params необязательный string

Набор пар «ключ-значение», используемых для таргетинга кампаний Менеджера рекламы. Эти пары должны быть представлены в виде строки запроса, закодированной в URL.

Пример:
Параметры
  • раздел = sports
  • страница = golf,tennis
Request URL ...&cust_params=section%3Dsports%26page%3Dgolf%2Ctennis...

Тело ответа

В случае успеха тело ответа представляет собой многовариантный плейлист HLS.

Метод: манифест модуля DASH

Извлекает манифест рекламного модуля MPEG-DASH прямой трансляции, готовый к загрузке и воспроизведению клиентским видеоплеером.

Методы
GET GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset}/stream/{stream_id}/pod/{pod_id}/manifest.mpd

API для извлечения плейлиста MPEG-DASH mpd для рекламного модуля.

HTTP-запрос

GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/stream/{stream_id}/pod/{pod_id}/manifest.mpd?pd={pod_duration}

Параметры пути

Параметры
network_code string

Сетевой код Google Ad Manager издателя.

custom_asset_key string

Пользовательский идентификатор, связанный с этим событием в Google Ad Manager

stream_id string

Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке stream .

pod_id integer

Числовой идентификатор текущей рекламной паузы. Идентификаторы рекламных модулей присваиваются последовательно для каждого события рекламной паузы, начиная с 1 .

Параметры запроса

Параметры
pd Необходимый integer

Длительность рекламного блока в миллисекундах.

scte35 необязательный string

Сигнал SCTE-35, закодированный в Base64, для этой рекламной паузы.

cust_params необязательный string

Набор пар «ключ-значение», используемых для таргетинга кампаний Менеджера рекламы. Эти пары должны быть представлены в виде строки запроса, закодированной в URL.

Пример:
Параметры
  • раздел = sports
  • страница = golf,tennis
Request URL ...&cust_params=section%3Dsports%26page%3Dgolf%2Ctennis...

Тело ответа

В случае успеха тело ответа представляет собой плейлист MPEG-DASH mpd.

Метод: шаблон периода модуля DASH

Методы
pods GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json

Запрашивает шаблон периода DASH из Google Ad Manager. Этот шаблон содержит макросы, которые необходимо заполнить параметрами вашей трансляции. После заполнения этих макросов шаблон становится периодом рекламной паузы и может быть интегрирован в ваш манифест DASH.

HTTP-запрос

GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json

Параметры пути

Параметры
network_code string

Сетевой код Google Ad Manager издателя.

custom_asset_key string

Пользовательский идентификатор, связанный с этим событием в Google Ad Manager.

Параметры запроса

Параметры
stream_id необходимый string

Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке stream .

Тело ответа

В случае успеха тело ответа содержит новый объект PodTemplateResponse .

Метод: метаданные времени показа рекламы

Методы
ad pod timing metadata GET /linear/pods/v1/adv/network/{network_code}/custom_asset/{custom_asset_key}/pod.json

Извлекает метаданные времени показа рекламного модуля.

HTTP-запрос

GET https://dai.google.com/linear/pods/v1/adv/network/{network_code}/custom_asset/{custom_asset_key}/pod.json

Параметры пути

Параметры
network_code string

Сетевой код Google Ad Manager издателя.

custom_asset_key string

Пользовательский идентификатор, связанный с этой прямой трансляцией в Google Ad Manager.

Параметры запроса

Параметры
stream_id Необходимый string

Идентификатор потока Ad Manager из клиентского приложения видеоплеера.

ad_break_id необходимый string

Идентификатор следующей рекламной паузы.

Идентификаторы рекламных пауз предоставляются сервером сшивания или VTP и должны совпадать в ранних уведомлениях о рекламных паузах, запросах метаданных времени показа рекламных модулей и запросах на перенаправление сегментов для одной и той же рекламной паузы.

К пользовательским идентификаторам рекламных пауз применяются следующие ограничения:

  • Длина пароля должна составлять от 1 до 63 символов.
  • Должен содержать только строчные буквы, цифры и дефисы.
  • Идентификатор рекламной паузы preroll зарезервирован для получения рекламного блока preroll. Он не может быть использован для идентификации какого-либо другого рекламного блока.
auth-token необходимый string

auth-token состоит из токена HMAC со следующими параметрами:

  • ad_break_id
  • custom_asset_key
  • exp
  • network_code
  • custom_params
  • pd
  • scte35
timeout необязательный integer

Количество миллисекунд, в течение которых DAI может блокировать этот запрос для ожидания решения о показе рекламы. Используйте этот параметр для запросов, которые должны возвращать заполненные объявления при первом запросе, например, для рекламных пауз в начале ролика.

Если время ожидания превышено, запрос возвращает статус ожидания.

Если значение тайм-аута указано, оно должно находиться в диапазоне от 1000 до 15000 миллисекунд. Если значение не указано, ответы не задерживаются для принятия решения по объявлению.

final необязательный boolean

Установите значение true , чтобы указать DAI, что это последний запрос, который VTP готов выполнить для данного рекламного блока. Если решение по рекламе ещё не принято (до истечения указанного времени ожидания), DAI вернёт рекламный блок для этого запроса навсегда.

По умолчанию — false .

Параметры принятия решения о рекламе

pd необязательный integer

Длительность рекламной паузы (в миллисекундах). Также называется длительностью рекламного блока.

Если используется EABN, значение pd должно соответствовать длительности, указанной в уведомлении о рекламной паузе. Если длительности не совпадают, приоритет будет отдан значению EABN.

cust_params необязательный string

Пользовательские параметры для таргетинга рекламной паузы, как описано в Справочном центре Менеджера объявлений .

scte35 необязательный string

Сигнал SCTE-35, закодированный в формате base64.

Если сигнал недействителен, в HTTP-заголовке X-Ad-Manager-Dai-Warning ответа будет отправлено сообщение, а запрос будет отправлен без недействительного значения scte35.

Тело ответа

В случае успеха тело ответа содержит новый объект AdPodTimingMetadataResponse .

Метод: проверка СМИ

При обнаружении идентификатора рекламного медиаконтента во время воспроизведения немедленно отправьте запрос, используя media_verification_url , полученный из конечной точки потока , указанной выше. Эти запросы не требуются для потоков с маяками на стороне сервера, где сервер инициирует проверку медиаконтента.

Запросы к конечной точке media verification являются идемпотентными.

Методы
media verification GET /{media_verification_url}/{ad_media_id}

Уведомляет API о событии проверки носителя.

HTTP-запрос

GET https://{media-verification-url}/{ad-media-id}

Тело ответа

media verification возвращает следующие ответы:

  • HTTP/1.1 204 No Content если проверка носителя прошла успешно и все пинги были отправлены.
  • HTTP/1.1 404 Not Found , если запрос не может проверить носитель из-за неправильного форматирования URL или истечения срока действия.
  • HTTP/1.1 404 Not Found если предыдущий запрос на проверку для этого идентификатора был успешным.
  • HTTP/1.1 409 Conflict если в это время другой запрос уже отправляет пинги.

Идентификаторы рекламных носителей

Идентификаторы рекламных медиафайлов будут кодироваться в отдельной дорожке метаданных — синхронизированных метаданных для транспортного потока HLS или emsg для файлов mp4. Идентификаторы рекламных медиафайлов всегда будут начинаться со строки google_ .

Все текстовое содержимое записи метаданных должно быть добавлено к URL-адресу проверки объявления перед отправкой каждого запроса на проверку объявления.

Метод: метаданные

Конечная точка метаданных metadata_url возвращает информацию, используемую для создания пользовательского интерфейса рекламы. Эта конечная точка метаданных недоступна для потоков с маяками на стороне сервера, где сервер отвечает за инициирование проверки рекламных медиафайлов.

Методы
metadata GET /{metadata_url}/{ad-media-id}

GET /{metadata_url}

Извлекает метаданные рекламы.

HTTP-запрос

GET https://{metadata_url}/{ad-media-id}

GET https://{metadata_url}

Тело ответа

В случае успеха ответ возвращает экземпляр PodMetadata .

Анализ метаданных

Метаданные состоят из трёх отдельных разделов: tags , ads и рекламные breaks . Точкой входа в данные является раздел tags . Далее пройдитесь по тегам и найдите первую запись, имя которой является префиксом идентификатора рекламного носителя, найденного в видеопотоке. Например, идентификатор рекламного носителя может выглядеть так:

google_1234567890

Затем вы находите объект тега с именем google_12345 . В данном случае он соответствует идентификатору медиа-контента вашего рекламного объявления. Найдя правильный префикс объекта медиа-контента, вы можете искать идентификаторы объявлений, идентификаторы рекламных пауз и тип события. Идентификаторы объявлений затем используются для индексации объектов ads , а идентификаторы рекламных пауз — для индексации объектов breaks .

Данные ответа

Транслировать

Stream используется для отображения списка ресурсов для вновь созданного потока в формате JSON.
JSON-представление
{
  "stream_id": string,
  "media_verification_url": string,
  "metadata_url": string,
  "session_update_url": string,
  "heartbeat_url": string,
  "polling_frequency": number,
  "pod_manifest_url": string,
  "manifest_format": string,
}
Поля
stream_id string

Идентификатор потока GAM.
media_verification_url string

URL-адрес проверки медиафайлов, используемый в качестве базовой конечной точки для отслеживания событий воспроизведения.
metadata_url string

URL-адрес метаданных, используемый для периодического опроса на предмет получения информации о предстоящих событиях потоковой рекламы.
session_update_url string

URL-адрес обновления сеанса, используемый для обновления параметров таргетинга для этого потока. Исходные значения параметров таргетинга захватываются во время первоначального запроса на создание потока.
heartbeat_url string

URL-адрес контрольного сигнала, используемый для поддержания активности потока маяков на стороне сервера. Он должен пинговаться каждые {PollingFrequency} секунд. Заполняется для потоков маяков на стороне сервера.
polling_frequency number

Частота опроса в секундах при запросе metadata_url или heartbeat_url.
pod_manifest_url string

Шаблон URL-адреса манифеста модуля используется для генерации URL-адреса для получения манифеста модуля потока, соответствующего URL-адресу многовариантного плейлиста в HLS или MPD в DASH. Заполняется для событий прямой трансляции типа POD_SERVING_MANIFEST динамической вставки рекламы. https://developers.google.com/ad-manager/api/reference/v202305/LiveStreamEventService.DynamicAdInsertionType
manifest_format string

Формат манифеста — это формат манифеста, извлеченного из pod_manifest_url, либо dash, либо hls.

PodMetadata

PodMetadata содержит метаданные о рекламе, рекламных паузах и тегах идентификаторов медиа.
JSON-представление
{
  "tags": map[string, object(TagSegment)],
  "ads": map[string, object(Ad)],
  "ad_breaks": map[string, object(AdBreak)],
}
Поля
tags map[string, object(TagSegment)]

Карта сегментов тегов, индексированных по префиксу тега.
ads map[string, object(Ad)]

Карта объявлений, проиндексированных по идентификатору объявления.
ad_breaks map[string, object(AdBreak)]

Карта рекламных пауз, проиндексированная по идентификатору рекламной паузы.

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), который должен отображаться во время воспроизведения рекламы.

PodTemplateResponse

PodTemplateResponse представляет собой полезную нагрузку JSON, возвращаемую в VTP для сшивания pod.
JSON-представление
{
  "dash_period_template": string,
  "segment_duration_ms": int64,
}
Поля
dash_period_template string

DashPeriodTemplate — это XML-шаблон для периода, который необходимо заполнить соответствующими данными перед сшиванием.
segment_duration_ms int64

SegmentDurationMS — длительность сегментов периода в миллисекундах.

AdpodTimingMetadataResponse

AdpodTimingMetadataResponse содержит информацию о рекламном модуле и о том, как создать для него URL-адреса сегментов.
JSON-представление
{
  "status": string,
  "ads": [object(AdRendering)],
  "slate": object(SlateRendering),
  "dash_representations": map[string, object(DASHRepresentation)],
  "dash_adaptation_sets": map[string, object(DASHAdaptationSet)],
}
Поля
status string

Статус решения по рекламному блоку.
ads [object(AdRendering)]

Массив объектов Ad, описывающих, как отображать URL-адреса сегментов рекламы, индексированные начиная с 0.
slate object(SlateRendering)

Slate описывает, как визуализировать URL-адреса сегментов Slate.
dash_representations map[string, object(DASHRepresentation)]

Список представлений DASH для данного рекламного модуля, который будет отображаться в манифестах DASH.
dash_adaptation_sets map[string, object(DASHAdaptationSet)]

Список наборов адаптаций DASH для данного рекламного модуля, которые будут отображаться в манифестах DASH.

AdRendering

AdRendering описывает, как визуализировать принятое объявление.
JSON-представление
{
  "duration_ms": number,
  "variants": map[string, object(VariantRendering)],
}
Поля
duration_ms number

Длительность рекламы в миллисекундах (целое).
variants map[string, object(VariantRendering)]

Словарь объектов варианта (см. ниже), индексированный по идентификатору варианта/профиля, как настроено в пользовательском интерфейсе.

SlateRendering

SlateRendering описывает, как визуализировать содержимое слейта.
JSON-представление
{
  "duration_ms": number,
  "variants": map[string, object(VariantRendering)],
}
Поля
duration_ms number

Длительность показа в миллисекундах (целое).
variants map[string, object(VariantRendering)]

Словарь объектов варианта, индексированных по идентификатору варианта/профиля. Длительности слэйта должны циклически повторяться до достижения требуемой длины с добавлением разрывов HLS между итерациями или циклически повторяться для MPEG-DASH.

ВариантРендеринга

VariantRendering описывает один вариант/профиль в рекламном объявлении/таблице.
JSON-представление
{
  "segment_extension": string,
  "segment_durations": object(SegmentDurations),
}
Поля
segment_extension string

Строка, один из следующих форматов: ts, mp4, aac, ac3, ec3, m4a, m4v. Расширение имени файла — часть URL-адресов сегмента.
segment_durations object(SegmentDurations)

Объекты SegmentDurations. Длительность каждого сегмента можно преобразовать в URL-адрес сегмента.

Длительность сегмента

SegmentDurations описывает длительность последовательности сегментов в указанной единице времени.
JSON-представление
{
  "timescale": number,
  "values": [],
}
Поля
timescale number

Шкала времени — это количество единиц в секунду (целое число). Ожидается: 1000 для HLS (миллисекунд) 90000 для видео DASH (PTS) Частота дискретизации звука для аудио DASH.
values number

Массив длительностей сегментов int в единицах шкалы времени.

DASHПредставительство

DASHRepresentation описывает узлы представления, которые должны быть отображены в манифестах DASH.
JSON-представление
{
  "codecs": string,
  "bandwidth": number,
  "width": number,
  "height": number,
  "frame_rate": string,
  "audio_sampling_rate": number,
  "audio_channel_config": object(SchemeIDURIAndValue),
}
Поля
codecs string

Кодеки представления.
bandwidth number

Пропускная способность представления.
width number

Ширина представления.
height number

Высота изображения.
frame_rate string

Частота кадров представления.
audio_sampling_rate number

Частота дискретизации звука представления.
audio_channel_config object(SchemeIDURIAndValue)

Конфигурация аудиоканала представления.

DASHAdaptationSet

DASHAdaptationSet описывает узлы AdaptationSet, которые должны быть отображены в манифестах DASH.
JSON-представление
{
  "content_type": string,
  "mime_type": string,
  "role": object(SchemeIDURIAndValue),
  "inband_event_stream": object(SchemeIDURIAndValue),
  "min_frame_rate": string,
  "max_frame_rate": string,
  "scan_type": string,
  "start_with_sap": string,
  "segment_alignment": boolean,
  "representations": [],
}
Поля
content_type string

Тип контента набора адаптации.
mime_type string

Тип MIME набора адаптаций.
role object(SchemeIDURIAndValue)

Роль адаптационного набора.
inband_event_stream object(SchemeIDURIAndValue)

Внутриполосный поток событий набора адаптации.
min_frame_rate string

Минимальная частота кадров набора адаптации.
max_frame_rate string

Максимальная частота кадров набора адаптации.
scan_type string

Тип сканирования набора адаптаций.
start_with_sap string

Начните с SAP набора адаптаций.
segment_alignment boolean

Выравнивание сегментов набора адаптаций.
representations string

Представления адаптационного набора.

SchemeIDURIAndValue

SchemeIDURIAndValue — это пара идентификатора схемы и ее значения.
JSON-представление
{
  "scheme_id_uri": string,
  "value": string,
}
Поля
scheme_id_uri string

URI идентификатора схемы значения.
value string

Значение URI идентификатора схемы.

Икона

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