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