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, обслуживающий сеанс прямой трансляции. | 
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} Числовой идентификатор текущей рекламной паузы. Идентификаторы рекламных модулей присваиваются последовательно для каждого события рекламной паузы, начиная с  ad_break_id/{string}Строковый идентификатор текущей рекламной паузы. Идентификатор рекламной паузы, предоставленный издателем, не имеет тех же ограничений, что и идентификатор рекламного модуля. Любой неизвестный идентификатор рекламной паузы, предоставленный этой конечной точке, создаёт новую рекламную паузу для события прямой трансляции. | 
| profile_name | stringИмя запрашиваемого профиля кодирования DAI в Google Ad Manager . Профиль кодирования должен быть одним из настроенных профилей кодирования для выбранного события. | 
| segment_number | integerИндекс запрошенного сегмента в текущем рекламном модуле, начиная с нуля. | 
| segment_format | string Расширение файла, связанное с запрошенным форматом сегмента. Допустимые расширения:  | 
Параметры запроса
| Параметры | ||||||
|---|---|---|---|---|---|---|
| stream_id | необходимый | string Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке  | ||||
| sd | required 1 | integerДлительность запрошенного сегмента в миллисекундах. | ||||
| so | необязательный |  Смещение запрошенного сегмента в рекламном блоке в миллисекундах. Если параметр  | ||||
| pd | требуется 2 | integerДлительность рекламного блока в миллисекундах. | ||||
| auth-token | необходимый | stringПодписанный, закодированный в URL токен HMAC для текущего рекламного модуля. | ||||
| last | необязательный | booleanУказывает последний сегмент рекламной паузы. Для всех остальных сегментов этот параметр следует пропустить. | ||||
| scte35 | необязательный | stringСигнал SCTE-35, закодированный в Base64, для этой рекламной паузы. | ||||
| cust_params | необязательный | stringНабор пар «ключ-значение», используемых для таргетинга кампаний Менеджера рекламы. Эти пары должны быть представлены в виде строки запроса, закодированной в URL.Пример: 
 | ||||
Сноски
-  sdне требуется для сегментов инициализации. ↩
-  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} Числовой идентификатор текущей рекламной паузы. Идентификаторы рекламных модулей присваиваются последовательно для каждого события рекламной паузы, начиная с  ad_break_id/{string}Строковый идентификатор текущей рекламной паузы. Идентификатор рекламной паузы, предоставленный издателем, не имеет тех же ограничений, что и идентификатор рекламного модуля. Любой неизвестный идентификатор рекламной паузы, предоставленный этой конечной точке, создаёт новую рекламную паузу для события прямой трансляции. | 
Параметры запроса
| Параметры | ||||||
|---|---|---|---|---|---|---|
| stream_id | Необходимый | string Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке  | ||||
| pd | Необходимый | integerДлительность рекламного блока в миллисекундах. | ||||
| scte35 | необязательный | stringСигнал SCTE-35, закодированный в Base64, для этой рекламной паузы. | ||||
| cust_params | необязательный | stringНабор пар «ключ-значение», используемых для таргетинга кампаний Менеджера рекламы. Эти пары должны быть представлены в виде строки запроса, закодированной в URL.Пример: 
 | ||||
Тело ответа
В случае успеха тело ответа представляет собой многовариантный плейлист HLS.
Метод: манифест модуля DASH
Извлекает манифест рекламного модуля MPEG-DASH прямой трансляции, готовый к загрузке и воспроизведению клиентским видеоплеером.
| Методы | |
|---|---|
| GET | GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset}/stream/{stream_id}/pod/{pod_id}/manifest.mpdAPI для извлечения плейлиста 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 Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке  | 
| pod_id | integer Числовой идентификатор текущей рекламной паузы. Идентификаторы рекламных модулей присваиваются последовательно для каждого события рекламной паузы, начиная с  | 
Параметры запроса
| Параметры | ||||||
|---|---|---|---|---|---|---|
| pd | Необходимый | integerДлительность рекламного блока в миллисекундах. | ||||
| scte35 | необязательный | stringСигнал SCTE-35, закодированный в Base64, для этой рекламной паузы. | ||||
| cust_params | необязательный | stringНабор пар «ключ-значение», используемых для таргетинга кампаний Менеджера рекламы. Эти пары должны быть представлены в виде строки запроса, закодированной в URL.Пример: 
 | ||||
Тело ответа
В случае успеха тело ответа представляет собой плейлист 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 Идентификатор потока для текущего сеанса пользователя. Это значение возвращается при успешном запросе к конечной точке  | 
| tv | необязательный | integer Версия шаблона. По умолчанию —  
 | 
Тело ответа
 В случае успеха тело ответа содержит новый объект 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 и должны совпадать в ранних уведомлениях о рекламных паузах, запросах метаданных времени показа рекламных модулей и запросах на перенаправление сегментов для одной и той же рекламной паузы. К пользовательским идентификаторам рекламных пауз применяются следующие ограничения: 
 | 
| auth-token | необходимый | string  
 | 
| timeout | необязательный | integerКоличество миллисекунд, в течение которых DAI может блокировать этот запрос для ожидания решения о показе рекламы. Используйте этот параметр для запросов, которые должны возвращать заполненные объявления при первом запросе, например, для рекламных пауз в начале ролика. Если время ожидания превышено, запрос возвращает статус ожидания. Если значение тайм-аута указано, оно должно находиться в диапазоне от 1000 до 15000 миллисекунд. Если значение не указано, ответы не задерживаются для принятия решения по объявлению. | 
| final | необязательный | boolean Установите значение   По умолчанию —  | 
| Параметры принятия решения о рекламе | ||
| pd | необязательный | integerДлительность рекламной паузы (в миллисекундах). Также называется длительностью рекламного блока. Если используется EABN, значение pd должно соответствовать длительности, указанной в уведомлении о рекламной паузе. Если длительности не совпадают, приоритет будет отдан значению EABN. | 
| cust_params | необязательный | stringПользовательские параметры для таргетинга рекламной паузы, как описано в Справочном центре Менеджера объявлений . | 
| scte35 | необязательный | stringСигнал SCTE-35, закодированный в формате base64.  Если сигнал недействителен, в HTTP-заголовке  | 
Тело ответа
 В случае успеха тело ответа содержит новый объект 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 .
API-объекты
Транслировать
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 | stringURL-адрес проверки медиафайлов, используемый в качестве базовой конечной точки для отслеживания событий воспроизведения. | 
| metadata_url | stringURL-адрес метаданных, используемый для периодического опроса на предмет получения информации о предстоящих событиях потоковой рекламы. | 
| session_update_url | stringURL-адрес обновления сеанса, используемый для обновления параметров таргетинга для этого потока. Исходные значения параметров таргетинга захватываются во время первоначального запроса на создание потока. | 
| heartbeat_url | stringURL-адрес контрольного сигнала, используемый для поддержания активности потока маяков на стороне сервера. Он должен пинговаться каждые {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 | stringDashPeriodTemplate — это XML-шаблон для периода, который необходимо заполнить соответствующими данными перед сшиванием. | 
| segment_duration_ms | int64SegmentDurationMS — длительность сегментов периода в миллисекундах. | 
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 | stringURI идентификатора схемы значения. | 
| 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 | stringURI для полезной нагрузки JavaScript. | 
| api_framework | stringAPIFramework — название видеофреймворка, реализующего код проверки. | 
| browser_optional | booleanМожно ли запустить этот скрипт вне браузера? | 
TrackingEvent
TrackingEvent содержит URL-адреса, которые клиент должен пинговать в определенных ситуациях.| JSON-представление | 
|---|
| {
  "event": string,
  "uri": string,
} | 
| Поля | |
|---|---|
| event | stringТип события отслеживания. | 
| uri | stringСобытие отслеживания, для которого необходимо выполнить пинг. | 
UniversalAdID
UniversalAdID используется для предоставления уникального идентификатора креатива, который поддерживается во всех рекламных системах.| JSON-представление | 
|---|
| { "id_value": string, "id_registry": string, } | 
| Поля | |
|---|---|
| id_value | stringУниверсальный идентификатор выбранного креатива для рекламы. | 
| id_registry | stringСтрока, используемая для идентификации URL-адреса веб-сайта реестра, на котором каталогизирован универсальный идентификатор рекламы выбранного креатива. | 
Компаньон
Companion содержит информацию о сопутствующих объявлениях, которые могут отображаться вместе с рекламой.| JSON-представление | 
|---|
| { "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } | 
| Поля | |
|---|---|
| click_data | object(ClickData)Данные о кликах для этого компаньона. | 
| creative_type | stringАтрибут CreativeType в узле <StaticResource> в VAST, если это сопутствующий элемент статического типа. | 
| height | int32Высота этого компаньона в пикселях. | 
| width | int32Ширина этого компаньона в пикселях. | 
| resource | stringДля статических и iframe-сопутствующих элементов это будет URL-адрес, который будет загружен и отображен. Для HTML-сопутствующих элементов это будет фрагмент HTML-кода, который должен быть показан в качестве сопутствующего элемента. | 
| type | stringТип этого компаньона. Он может быть статическим, iframe или HTML. | 
| ad_slot_id | stringИдентификатор слота для этого компаньона. | 
| api_framework | stringAPI-фреймворк для этого компаньона. | 
| tracking_events | [object(TrackingEvent)]Список событий отслеживания для этого компаньона. | 
InteractiveFile
InteractiveFile содержит информацию для интерактивного креатива (т. е. SIMID), которая должна отображаться во время воспроизведения рекламы.| JSON-представление | 
|---|
| { "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } | 
| Поля | |
|---|---|
| resource | stringURL-адрес интерактивного креатива. | 
| type | stringТип MIME файла, предоставленного в качестве ресурса. | 
| variable_duration | booleanМожет ли данный креатив запрашивать продление длительности. | 
| ad_parameters | stringЗначение узла <AdParameters> в VAST. |