Модуль динамической вставки объявлений с 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 и спецификацию 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

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

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/profi le/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 .

Метод: проверка носителя

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

Метаданные Pod

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 с type="progress" не должен отправляться на конечную точку проверки рекламного носителя.
JSON-представление
{
  "ad": string,
  "ad_break_id": string,
  "type": string,
}
Поля
ad string

Идентификатор объявления этого тега.
ad_break_id string

Идентификатор рекламной паузы этого тега.
type string

Тип события этого тега.

Рекламная пауза

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 для сшивания модулей.
JSON-представление
{
  "dash_period_template": string,
  "segment_duration_ms": int64,
}
Поля
dash_period_template string

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

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

Адподтимингметадатаответ

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-адреса сегментов шифера.
dash_representations map[string, object(DASHRepresentation)]

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

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

Рендеринг рекламы

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

Продолжительность объявления в миллисекундах (int).
variants map[string, object(VariantRendering)]

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

SlateРендеринг

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

Продолжительность рекламной паузы в миллисекундах (int).
variants map[string, object(VariantRendering)]

Словарь объектов Variant, индексированный по идентификатору варианта/профиля. Длительность сланца должна зацикливаться до тех пор, пока не будет достигнута необходимая длина сланца, вставляя разрывы 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)

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

DASHАдаптационныйНабор

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

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

СхемаIDURIAndValue

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

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

FallbackImage содержит информацию о резервном изображении VAST.
JSON-представление
{
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "alt_text": string,
}
Поля
creative_type string

height int32

width int32

resource string

alt_text string

обертка

Обертка содержит информацию об объявлении-обертке. Он не включает идентификатор сделки, если он не существует.
JSON-представление
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
Поля
system string

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

Идентификатор объявления, используемый для объявления-контейнера.
creative_id string

Идентификатор объявления, используемый для объявления-контейнера.
creative_ad_id string

Идентификатор креативного объявления, используемый для объявления-контейнера.
deal_id string

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

Проверка

Проверка содержит информацию для открытого измерения, которая облегчает стороннее измерение видимости и проверки. В настоящее время поддерживаются только ресурсы JavaScript. См. https://iabtechlab.com/standards/open-measurement-sdk/.
JSON-представление
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
Поля
vendor string

Поставщик проверки.
java_script_resources [object(JavaScriptResource)]

Список ресурсов JavaScript для проверки.
tracking_events [object(TrackingEvent)]

Список событий отслеживания для проверки.
parameters string

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

JavaScriptРесурс

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

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

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

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

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

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

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

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

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

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

Универсальный рекламный идентификатор выбранного креатива для объявления.
id_registry string

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

Компаньон

Сопутствующий контент содержит информацию о сопутствующих объявлениях, которые могут отображаться вместе с рекламой.
JSON-представление
{
  "click_data": object(ClickData),
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "type": string,
  "ad_slot_id": string,
  "api_framework": string,
  "tracking_events": [object(TrackingEvent)],
}
Поля
click_data object(ClickData)

Данные о кликах для этого сопутствующего баннера.
creative_type string

Атрибут CreativeType в узле <StaticResource> в VAST, если он является сопутствующим типом static.
height int32

Высота этого компаньона в пикселях.
width int32

Ширина этого компаньона в пикселях.
resource string

Для статических сопутствующих баннеров и сопутствующих баннеров iframe это будет URL-адрес для загрузки и отображения. Для сопутствующих HTML-кодов это будет фрагмент HTML, который должен отображаться в качестве сопутствующего.
type string

Тип этого компаньона. Это может быть статический, iframe или HTML.
ad_slot_id string

Идентификатор слота для этого компаньона.
api_framework string

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

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

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

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

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

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

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

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

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 и спецификацию 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

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

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/profi le/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 .

Метод: проверка носителя

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

Метаданные Pod

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 с type="progress" не должен отправляться на конечную точку проверки рекламного носителя.
JSON-представление
{
  "ad": string,
  "ad_break_id": string,
  "type": string,
}
Поля
ad string

Идентификатор объявления этого тега.
ad_break_id string

Идентификатор рекламной паузы этого тега.
type string

Тип события этого тега.

Рекламная пауза

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 для сшивания модулей.
JSON-представление
{
  "dash_period_template": string,
  "segment_duration_ms": int64,
}
Поля
dash_period_template string

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

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

Адподтимингметадатаответ

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 -адреса сегмента AD, индексированные, начинающиеся с 0.
slate object(SlateRendering)

Сланец, описывающий, как отображать URL -адреса сегмента.
dash_representations map[string, object(DASHRepresentation)]

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

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

Adrendering

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

Продолжительность объявления, в миллисекундах (int).
variants map[string, object(VariantRendering)]

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

Слэйтерринг

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

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

Словарь объектов варианта, индексируемый с помощью варианта/идентификатора профиля. Продолжительность сланцев должна быть зациклена до тех пор, пока не будет достигнута требуемая длина сланца, вставляя разрывы HLS между итерациями или зацикливание новых периодов для MPEG-Dash.

VarianTrendering

VarianTrendering описывает один вариант/профиль в AD/Slate.
JSON-представление
{
  "segment_extension": string,
  "segment_durations": object(SegmentDurations),
}
Поля
segment_extension string

Строка, одно из: TS, MP4, AAC, AC3, EC3, M4A, M4V. Расширение файла часть URL -адреса сегмента.
segment_durations object(SegmentDurations)

Сегментные объекты. Каждое продолжительность сегмента может быть переведена в URL -адрес сегмента.

Сегментные дары

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

Времена - это количество единиц в секунду (int), которое ожидается: 1000 для HLS (миллисекунд) 90000 для Dash Video Video (PTS).
values number

Массив продолжительности сегмента Int, в единицах времен.

Dashrepresentation

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)

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

DashAdationset

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

Inband Event Stream набора адаптации.
min_frame_rate string

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

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

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

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

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

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

SchemeDuriAndValue

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

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

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

Икона

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

SwarkbackImage

SwarkbackImage содержит информацию об обширном резервом изображении.
JSON-представление
{
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "alt_text": string,
}
Поля
creative_type string

height int32

width int32

resource string

alt_text string

Обертка

Обертка содержит информацию о объявлении обертки. Он не включает идентификатор сделки, если его не существует.
JSON-представление
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
Поля
system string

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

AD ID, используемый для объявления обертки.
creative_id string

Creative Id используется для объявления обертки.
creative_ad_id string

Creative Ad Id, используемый для объявления обертки.
deal_id string

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

Проверка

Проверка содержит информацию для открытого измерения, которая облегчает измерение просмотра и проверки сторонних сторон. В настоящее время поддерживаются только ресурсы JavaScript. См. Https://iabtechlab.com/standards/open-measurement-sdk/
JSON-представление
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
Поля
vendor string

Проверка проверки.
java_script_resources [object(JavaScriptResource)]

Список ресурсов JavaScript для проверки.
tracking_events [object(TrackingEvent)]

Список событий отслеживания для проверки.
parameters string

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

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

Компаньон

Компаньон содержит информацию для компаньонов, которые могут отображаться вместе с объявлением.
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> в обширном, если это сопутствующий статический тип.
height int32

Высота в пикселях этого компаньона.
width int32

Ширина в пикселях этого компаньона.
resource string

Для Static и Iframe Companions это будет URL, который будет загружен и отображен. Для HTML -компаньонов это будет фрагмент HTML, который должен быть показан в качестве компаньона.
type string

Тип этого компаньона. Это может быть либо статичным, iframe или html.
ad_slot_id string

Идентификатор слота для этого компаньона.
api_framework string

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

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

InteractiveFile

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

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

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

Может ли это творчество просить продолжительность продления.
ad_parameters string

Значение узла <dparameters> в обширном.
,

Динамический API вставки AD позволяет запросить и отслеживать DAI Livestreams.

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

Все URI относительно https://dai.google.com .

Метод: поток

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

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

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 .

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

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

Метод: сегмент POD

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

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

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 POD назначаются постепенно для каждого события разрыва в рекламе, начиная с 1 .

ad_break_id/{string}

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

profile_name string

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

segment_number integer

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

segment_format string

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

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

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

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

sd required 1 integer

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

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

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

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

Продолжительность AD Pod, в миллисекундах.

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

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

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

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

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

BASE64-кодированный SCTE-35Signal для этого разрыва AD.

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

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

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

Сноски

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

Пример

ПОЛУЧАТЬ https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/ad_break_id/adbreak -2/Профиль/8B88888CF79AD43F0800482FFC035A1AC_TS_A/1.TS? SO = 0 & SD = 10000 & PD = 30000 & Stream_ID = 8E19CBC6-850B-404C-99D7-860AA4A674CB: тест

ПОЛУЧАТЬ https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/pod/2/profi LE/8B8888CF79AD43F0800482FFC035A1AC_TS_A/1.TS?

Тело ответа

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

Метод: HLS POD Manifest

Получает манифест HLS AD Manifest в прямой трансляции, которая готова к клиентскому видеоплеру загрузить и воспроизводить.

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

API, чтобы получить многовариантный плейлист HLS для AD POD.

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 POD назначаются постепенно для каждого события разрыва в рекламе, начиная с 1 .

ad_break_id/{string}

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

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

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

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

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

Продолжительность AD Pod, в миллисекундах.

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

BASE64-кодированный SCTE-35Signal для этого разрыва AD.

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

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

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

Тело ответа

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

Метод: манифест

Получает Mpeg-Dash AD Pod Manifest в прямой трансляции, которая готова к клиентскому видеоплеру загрузить и воспроизводить.

Методы
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 для AD POD.

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

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

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

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

Продолжительность AD Pod, в миллисекундах.

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

BASE64-кодированный SCTE-35Signal для этого разрыва AD.

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

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

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

Тело ответа

В случае успеха корпус ответа является плейлистом MPEG-Dash MPD.

Метод: шаблон периода Dash Pod

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

Запрашивает шаблон периода прозски от Google Ad Manager. Этот шаблон содержит макросы, которые вы должны заполнить параметрами потока. Как только эти макросы заполнены, шаблон становится вашим периодом разрыва в рекламе и может быть сшит в ваш манифест.

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 .

Метод: проверка носителя

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

AD Media Ids

Идентификаторы AD Media будут закодироваться в отдельном треке метаданных - включенные метаданные для транспортного потока HLS или EMSG для файлов MP4. Идентификаторы AD Media всегда начнутся со строки google_ .

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

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

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

Методы
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 . В этом случае это соответствует вашему идентификатору рекламы. После того, как вы найдете правильный объект префикса AD, вы можете найти рекламные идентификаторы, идентификаторы рекламы и тип события. Затем идентификаторы AD используются для индексации объектов ads , а идентификаторы разрыва AD используются для индексации объектов breaks .

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

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

Поток используется для составления списка ресурсов для недавно созданного потока в формате 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 Stream.
media_verification_url string

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

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

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

URL -адрес сердца, используемый для поддержания потока маяки на стороне сервера, он должен быть пропитан на каждую {OlplingFrequency} секунд. Заполнено для серверных потоков маяки.
polling_frequency number

Частота опроса в секундах, когда запрос на метадата_ера или Heartbeat_url.
pod_manifest_url string

Шаблон URL -адреса POD Manifest используется для генерации URL для извлечения манифеста POD потока, соответствующего URL -адресу многовалентного плейлиста в HLS или MPD в DASH. Заполнено для событий в прямом эфире динамического вставки AD Тип 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.
ad_breaks map[string, object(AdBreak)]

Карта AD разрывов, индексированная с помощью идентификатора AD Break.

TAGSEGMENT

Tagsegment содержит ссылку на объявление, его разрыв в рекламе и тип события. Tagsegment с Type = «Прогресс» не должен быть пропитан в конечную точку проверки AD.
JSON-представление
{
  "ad": string,
  "ad_break_id": string,
  "type": string,
}
Поля
ad string

Идентификатор рекламы этого тега.
ad_break_id string

Идентификатор рекламы этого тега.
type string

Тип события этого тега.

Реклама

Реклама рекламы описывает один разрыв рекламы в потоке. Он содержит продолжительность, тип (середина/pro/post) и количество рекламы.
JSON-представление
{
  "type": string,
  "duration": number,
  "expected_duration": number,
  "ads": number,
}
Поля
type string

Действительные типы перерывов: Pre, Mid и Post.
duration number

Общая продолжительность рекламы для этого рекламного перерыва, в считанные секунды.
expected_duration number

Ожидаемая продолжительность разрыва AD (в секундах), включая все объявления и любые сланцы.
ads number

Количество рекламы в рекламе.
AD описывает объявление в потоке.
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 ClickThrough.
click_tracking_urls string

Дополнительные URL -адреса отслеживания клика.
verifications [object(Verification)]

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

Необязательный Bool, указывающий, что текущая запись - Slate.
icons [object(Icon)]

Список значков, опущены, если пуст.
wrappers [object(Wrapper)]

Список оберток, опущен, если пуст.
universal_ad_id object(UniversalAdID)

Необязательный универсальный идентификатор рекламы.
extensions string

Необязательный список всех узлов <Extension> в обширном.
companions [object(Companion)]

Дополнительные спутники, которые могут отображаться вместе с этим объявлением.
interactive_file object(InteractiveFile)

Необязательный интерактивный креатив (SIMID), который должен отображаться во время воспроизведения рекламы.

PodtemplaterSponse

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

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

SegmentDurationMs - это продолжительность сегментов периода в миллисекундах.

Adpodtimingmetadataresponse

AdpodtimingMetAdataresponse содержит информацию о AD POD и о том, как создавать 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

Статус решения для AD POD.
ads [object(AdRendering)]

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

Сланец, описывающий, как отображать URL -адреса сегмента.
dash_representations map[string, object(DASHRepresentation)]

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

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

Adrendering

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

Продолжительность объявления, в миллисекундах (int).
variants map[string, object(VariantRendering)]

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

Слэйтерринг

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

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

Словарь объектов варианта, индексируемый с помощью варианта/идентификатора профиля. Продолжительность сланцев должна быть зациклена до тех пор, пока не будет достигнута требуемая длина сланца, вставляя разрывы HLS между итерациями или зацикливание новых периодов для MPEG-Dash.

VarianTrendering

VarianTrendering описывает один вариант/профиль в AD/Slate.
JSON-представление
{
  "segment_extension": string,
  "segment_durations": object(SegmentDurations),
}
Поля
segment_extension string

Строка, одно из: TS, MP4, AAC, AC3, EC3, M4A, M4V. Расширение файла часть URL -адреса сегмента.
segment_durations object(SegmentDurations)

Сегментные объекты. Каждое продолжительность сегмента может быть переведена в URL -адрес сегмента.

Сегментные дары

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

Времена - это количество единиц в секунду (int), которое ожидается: 1000 для HLS (миллисекунд) 90000 для Dash Video Video (PTS).
values number

Массив продолжительности сегмента Int, в единицах времен.

Dashrepresentation

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)

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

DashAdationset

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

Inband Event Stream набора адаптации.
min_frame_rate string

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

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

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

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

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

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

SchemeDuriAndValue

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

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

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

Икона

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

SwarkbackImage

SwarkbackImage содержит информацию об обширном резервом изображении.
JSON-представление
{
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "alt_text": string,
}
Поля
creative_type string

height int32

width int32

resource string

alt_text string

Обертка

Обертка содержит информацию о объявлении обертки. Он не включает идентификатор сделки, если его не существует.
JSON-представление
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
Поля
system string

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

AD ID, используемый для объявления обертки.
creative_id string

Creative Id используется для объявления обертки.
creative_ad_id string

Creative Ad Id, используемый для объявления обертки.
deal_id string

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

Проверка

Проверка содержит информацию для открытого измерения, которая облегчает измерение просмотра и проверки сторонних сторон. В настоящее время поддерживаются только ресурсы JavaScript. См. Https://iabtechlab.com/standards/open-measurement-sdk/
JSON-представление
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
Поля
vendor string

Проверка проверки.
java_script_resources [object(JavaScriptResource)]

Список ресурсов JavaScript для проверки.
tracking_events [object(TrackingEvent)]

Список событий отслеживания для проверки.
parameters string

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

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

Компаньон

Компаньон содержит информацию для компаньонов, которые могут отображаться вместе с объявлением.
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> в обширном, если это сопутствующий статический тип.
height int32

Высота в пикселях этого компаньона.
width int32

Ширина в пикселях этого компаньона.
resource string

Для Static и Iframe Companions это будет URL, который будет загружен и отображен. Для HTML -компаньонов это будет фрагмент HTML, который должен быть показан в качестве компаньона.
type string

Тип этого компаньона. Это может быть либо статичным, iframe или html.
ad_slot_id string

Идентификатор слота для этого компаньона.
api_framework string

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

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

InteractiveFile

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

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

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

Может ли это творчество просить продолжительность продления.
ad_parameters string

Значение узла <dparameters> в обширном.
,

Динамический API вставки AD позволяет запросить и отслеживать DAI Livestreams.

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

Все URI относительно https://dai.google.com .

Метод: поток

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

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

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 .

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

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

Метод: сегмент POD

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

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

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 POD назначаются постепенно для каждого события разрыва в рекламе, начиная с 1 .

ad_break_id/{string}

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

profile_name string

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

segment_number integer

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

segment_format string

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

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

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

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

sd required 1 integer

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

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

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

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

Продолжительность AD Pod, в миллисекундах.

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

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

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

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

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

BASE64-кодированный SCTE-35Signal для этого разрыва AD.

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

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

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

Сноски

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

Пример

ПОЛУЧАТЬ https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/ad_break_id/adbreak -2/Профиль/8B88888CF79AD43F0800482FFC035A1AC_TS_A/1.TS? SO = 0 & SD = 10000 & PD = 30000 & Stream_ID = 8E19CBC6-850B-404C-99D7-860AA4A674CB: тест

ПОЛУЧАТЬ https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/pod/2/profi LE/8B8888CF79AD43F0800482FFC035A1AC_TS_A/1.TS?

Тело ответа

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

Метод: HLS POD Manifest

Получает манифест HLS AD Manifest в прямой трансляции, которая готова к клиентскому видеоплеру загрузить и воспроизводить.

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

API, чтобы получить многовариантный плейлист HLS для AD POD.

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 POD назначаются постепенно для каждого события разрыва в рекламе, начиная с 1 .

ad_break_id/{string}

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

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

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

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

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

Продолжительность AD Pod, в миллисекундах.

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

BASE64-кодированный SCTE-35Signal для этого разрыва AD.

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

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

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

Тело ответа

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

Метод: манифест

Получает Mpeg-Dash AD Pod Manifest в прямой трансляции, которая готова к клиентскому видеоплеру загрузить и воспроизводить.

Методы
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 для AD POD.

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

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

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

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

Продолжительность AD Pod, в миллисекундах.

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

BASE64-кодированный SCTE-35Signal для этого разрыва AD.

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

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

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

Тело ответа

В случае успеха корпус ответа является плейлистом MPEG-Dash MPD.

Метод: шаблон периода Dash Pod

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

Запрашивает шаблон периода прозски от Google Ad Manager. Этот шаблон содержит макросы, которые вы должны заполнить параметрами потока. Как только эти макросы заполнены, шаблон становится вашим периодом разрыва в рекламе и может быть сшит в ваш манифест.

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 .

Метод: проверка носителя

После встречи с идентификатором рекламного носителя во время воспроизведения немедленно сделайте запрос, используя 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 if a previous verification request for this ID succeeded.
  • HTTP/1.1 409 Conflict if another request is already sending pings at this time.

Ad media IDs

Ad media identifiers will be encoded in a separate metadata track — timed metadata for HLS transport stream, or emsg for mp4 files. Ad media identifiers will always begin with the string google_ .

The entire text contents of the metadata entry should be appended to the ad verification URL prior to making each ad verification request.

Method: metadata

The metadata endpoint at metadata_url returns information used to build an ad UI. The metadata endpoint isn't available for server-side-beaconing streams, where the server is responsible for initiating ad media verification.

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

GET /{metadata_url}

Retrieves ad metadata information.

HTTP-запрос

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

GET https://{metadata_url}

Тело ответа

If successful, the response returns an instance of PodMetadata .

Parsing Metadata

Metadata has three discrete sections: tags , ads , and ad breaks . The entry point into the data is the tags section. From there, iterate through the tags and find the first entry whose name is a prefix for the ad media ID found in the video stream. For example, you might have an ad media ID that looks like:

google_1234567890

Then you find a tag object named google_12345 . In this case, it matches your ad media id. Once you find the correct ad media prefix object, you can look up ad ids, ad break ids, and the event type. Ad ids are then used to index the ads objects and ad break ids are used to index the breaks objects.

Response data

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

Stream is used to render a list of resources for a newly created stream in JSON format.
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

The GAM stream identifier.
media_verification_url string

The media verification URL used as base endpoint for tracking playback events.
metadata_url string

Metadata URL used to poll for periodic information about upcoming stream ad events.
session_update_url string

The session's update URL used to update the targeting parameters for this stream. The original values for the targeting parameters are captured during the initial stream create request.
heartbeat_url string

The heartbeat URL, used to keep the server side beaconing stream alive, it must be pinged every {PollingFrequency} seconds. Populated for server side beaconing streams.
polling_frequency number

The polling frequency, in seconds, when requesting metadata_url or heartbeat_url.
pod_manifest_url string

The pod manifest URL template is used to generate the URL to retrieve a stream's pod manifest, corresponding to the URL of the multivariant playlist in HLS or the MPD in DASH. Populated for Livestream events of Dynamic Ad Insertion type POD_SERVING_MANIFEST. https://developers.google.com/ad-manager/api/reference/v202305/LiveStreamEventService.DynamicAdInsertionType
manifest_format string

Manifest format is the format of the manifest retrieved from pod_manifest_url, either dash or hls.

PodMetadata

PodMetadata contains metadata information on ads, ad breaks, and media ID tags.
JSON-представление
{
  "tags": map[string, object(TagSegment)],
  "ads": map[string, object(Ad)],
  "ad_breaks": map[string, object(AdBreak)],
}
Поля
tags map[string, object(TagSegment)]

Map of tag segments indexed by tag prefix.
ads map[string, object(Ad)]

Map of ads indexed by ad ID.
ad_breaks map[string, object(AdBreak)]

Map of ad breaks indexed by ad break ID.

TagSegment

TagSegment contains a reference to an ad, its ad break, and event type. TagSegment with type="progress" should not be pinged to the ad media verification endpoint.
JSON-представление
{
  "ad": string,
  "ad_break_id": string,
  "type": string,
}
Поля
ad string

The ID of this tag's ad.
ad_break_id string

The ID of this tag's ad break.
type string

This tag's event type.

AdBreak

AdBreak describes a single ad break in the stream. It contains a duration, a type (mid/pre/post) and the number of ads.
JSON-представление
{
  "type": string,
  "duration": number,
  "expected_duration": number,
  "ads": number,
}
Поля
type string

Valid break types are: pre, mid, and post.
duration number

Total ad duration for this ad break, in seconds.
expected_duration number

Expected duration of the ad break (in seconds), including all ads and any slate.
ads number

Number of ads in the ad break.
Ad describes an ad in the stream.
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

The ID of this ad's ad break.
position number

Position of this ad in the ad break, starting at 1.
duration number

Duration of the ad, in seconds.
title string

Optional title of the ad.
description string

Optional description of the ad.
advertiser string

Optional advertiser identifier.
ad_system string

Optional ad system.
ad_id string

Optional ad ID.
creative_id string

Optional creative ID.
creative_ad_id string

Optional creative ad ID.
deal_id string

Optional deal ID.
clickthrough_url string

Optional clickthrough URL.
click_tracking_urls string

Optional click tracking URLs.
verifications [object(Verification)]

Optional Open Measurement verification entries which list the resources and metadata required to execute third-party measurement code to verify creative playback.
slate boolean

Optional bool indicating the current entry is slate.
icons [object(Icon)]

A list of icons, omitted if empty.
wrappers [object(Wrapper)]

A list of Wrappers, omitted if empty.
universal_ad_id object(UniversalAdID)

Optional universal ad ID.
extensions string

Optional list of all <Extension> nodes in the VAST.
companions [object(Companion)]

Optional companions that may be displayed along with this ad.
interactive_file object(InteractiveFile)

Optional interactive creative (SIMID) that should be displayed during ad playback.

PodTemplateResponse

PodTemplateResponse represents the JSON payload returned to a VTP for pod stitching.
JSON-представление
{
  "dash_period_template": string,
  "segment_duration_ms": int64,
}
Поля
dash_period_template string

DashPeriodTemplate is the xml template for the period to be filled with appropriate data before stitching.
segment_duration_ms int64

SegmentDurationMS is the duration of the period segments in milliseconds.

AdpodTimingMetadataResponse

AdpodTimingMetadataResponse contains information about the Ad Pod and how to build segment URLs for it.
JSON-представление
{
  "status": string,
  "ads": [object(AdRendering)],
  "slate": object(SlateRendering),
  "dash_representations": map[string, object(DASHRepresentation)],
  "dash_adaptation_sets": map[string, object(DASHAdaptationSet)],
}
Поля
status string

Decision status for the ad pod.
ads [object(AdRendering)]

Array of Ad objects describing how to render the ad segment urls, indexed starting at 0.
slate object(SlateRendering)

Slate describing how to render the slate segment urls.
dash_representations map[string, object(DASHRepresentation)]

List of DASH Representations for that ad pod to be rendered in DASH manifests.
dash_adaptation_sets map[string, object(DASHAdaptationSet)]

List of DASH Adaptation Sets for that ad pod to be rendered in DASH manifests.

AdRendering

AdRendering describes how to render a decisioned ad.
JSON-представление
{
  "duration_ms": number,
  "variants": map[string, object(VariantRendering)],
}
Поля
duration_ms number

Duration of the ad, in milliseconds (int).
variants map[string, object(VariantRendering)]

Dictionary of Variant objects (see below), indexed by the variant/profile ID, as configured from the UI.

SlateRendering

SlateRendering describes how to render slate content.
JSON-представление
{
  "duration_ms": number,
  "variants": map[string, object(VariantRendering)],
}
Поля
duration_ms number

Duration of the slate, in milliseconds (int).
variants map[string, object(VariantRendering)]

Dictionary of Variant objects, indexed by variant/profile ID. Slate durations must be looped until the required slate length is reached, inserting HLS discontinuities between iterations, or looping new periods for MPEG-DASH.

VariantRendering

VariantRendering describes one variant/profile within the ad/slate.
JSON-представление
{
  "segment_extension": string,
  "segment_durations": object(SegmentDurations),
}
Поля
segment_extension string

String, one of: ts, mp4, aac, ac3, ec3, m4a, m4v. Filename extension part of the segment URLs.
segment_durations object(SegmentDurations)

SegmentDurations objects. Each segment duration can be translated into a segment URL.

SegmentDurations

SegmentDurations describes the duration of a sequence of segments, in a specified time unit.
JSON-представление
{
  "timescale": number,
  "values": [],
}
Поля
timescale number

Timescale is the number of units per second (int) Expected to be: 1000 for HLS (milliseconds) 90000 for DASH video (PTS) Audio sample rate for DASH audio.
values number

Array of int segment durations, in timescale units.

DASHRepresentation

DASHRepresentation describes Representation nodes to be rendered in DASH manifests.
JSON-представление
{
  "codecs": string,
  "bandwidth": number,
  "width": number,
  "height": number,
  "frame_rate": string,
  "audio_sampling_rate": number,
  "audio_channel_config": object(SchemeIDURIAndValue),
}
Поля
codecs string

Codecs of the representation.
bandwidth number

Bandwidth of the representation.
width number

Width of the representation.
height number

Height of the representation.
frame_rate string

Frame rate of the representation.
audio_sampling_rate number

Audio sampling rate of the representation.
audio_channel_config object(SchemeIDURIAndValue)

Audio channel configuration of the representation.

DASHAdaptationSet

DASHAdaptationSet describes AdaptationSet nodes to be rendered in DASH manifests.
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

Content type of the adaptation set.
mime_type string

MIME type of the adaptation set.
role object(SchemeIDURIAndValue)

Role of the adaptation set.
inband_event_stream object(SchemeIDURIAndValue)

Inband event stream of the adaptation set.
min_frame_rate string

Minimum frame rate of the adaptation set.
max_frame_rate string

Maximum frame rate of the adaptation set.
scan_type string

Scan type of the adaptation set.
start_with_sap string

Start with SAP of the adaptation set.
segment_alignment boolean

Segment alignment of the adaptation set.
representations string

Representations of the adaptation set.

SchemeIDURIAndValue

SchemeIDURIAndValue is a pair of a scheme ID and its value.
JSON-представление
{
  "scheme_id_uri": string,
  "value": string,
}
Поля
scheme_id_uri string

Scheme ID URI of the value.
value string

Value of the scheme ID URI.

Икона

Icon contains information about a VAST Icon.
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 contains information about an icon clickthrough.
JSON-представление
{
  "url": string,
}
Поля
url string

FallbackImage

FallbackImage contains information about a VAST fallback image.
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 contains information about a wrapper ad. It does not include a Deal ID if it does not exist.
JSON-представление
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
Поля
system string

Ad system identifier.
ad_id string

Ad ID used for the wrapper ad.
creative_id string

Creative ID used for the wrapper ad.
creative_ad_id string

Creative Ad ID used for the wrapper ad.
deal_id string

Optional deal ID for the wrapper ad.

Проверка

Verification contains information for Open Measurement, which facilitates third-party viewability and verification measurement. Currently, only JavaScript resources are supported. See https://iabtechlab.com/standards/open-measurement-sdk/
JSON-представление
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
Поля
vendor string

The verification vendor.
java_script_resources [object(JavaScriptResource)]

List of JavaScript resources for the verification.
tracking_events [object(TrackingEvent)]

List of tracking events for the verification.
parameters string

An opaque string passed to bootstrap verification code.

JavaScriptResource

JavaScriptResource contains information for verification via JavaScript.
JSON-представление
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
Поля
script_url string

URI to javascript payload.
api_framework string

APIFramework is the name of the video framework exercising the verification code.
browser_optional boolean

Whether this script can be run outside of a browser.

TrackingEvent

TrackingEvent contains URLs that should be pinged by the client in certain situations.
JSON-представление
{
  "event": string,
  "uri": string,
}
Поля
event string

The type of the tracking event.
uri string

The tracking event to be pinged.

UniversalAdID

UniversalAdID is used to provide a unique creative identifier that is maintained across ad systems.
JSON-представление
{
  "id_value": string,
  "id_registry": string,
}
Поля
id_value string

The Universal Ad ID of the selected creative for the ad.
id_registry string

A string used to identify the URL for the registry website where the selected creative's Universal Ad ID is cataloged.

Компаньон

Companion contains information for companion ads that may be displayed along with ad.
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)

The click data for this companion.
creative_type string

The CreativeType attribute on the <StaticResource> node in the VAST if this is a companion of type static.
height int32

The height in pixels of this companion.
width int32

The width in pixels of this companion.
resource string

For static and iframe companions this will be the URL to be loaded and displayed. For HTML companions, this will be the HTML snippet that should be shown as the companion.
type string

Type of this companion. It can be either static, iframe or HTML.
ad_slot_id string

The slot ID for this companion.
api_framework string

The API framework for this companion.
tracking_events [object(TrackingEvent)]

List of tracking events for this companion.

InteractiveFile

InteractiveFile contains information for interactive creative (ie SIMID) that should be displayed during ad playback.
JSON-представление
{
  "resource": string,
  "type": string,
  "variable_duration": boolean,
  "ad_parameters": string,
}
Поля
resource string

The URL to the interactive creative.
type string

The MIME type of the file provided as the resource.
variable_duration boolean

Whether this creative may ask for the duration to be extended.
ad_parameters string

The value of the <AdParameters> node in the VAST.