Серверная управляемая вставка рекламы (SGAI) предоставляет манифест рекламного блока, готовый для интеграции на клиентских устройствах. Если вы включили Pod Serving DAI в своей сети Google Ad Manager, вы можете использовать SGAI. Если Pod Serving DAI не включен, обратитесь к своему менеджеру аккаунта.
В SGAI вы используете конечные точки API для обслуживания Pod-ов, чтобы создать поток, получающий метаданные рекламы и манифесты рекламных Pod-ов.
Если у вас есть сервер для обработки манифестов, вы можете генерировать URL-адреса манифеста рекламных блоков и вставлять в поток контента рекламные маркеры, содержащие информацию из манифеста, в соответствии с вашими предпочтительными спецификациями.
В качестве альтернативы, вы можете запланировать рекламную паузу, используя другой механизм, отличный от рекламных маркеров в манифесте потока. В таких случаях ваше приложение может отслеживать другие события, например, взаимодействие пользователя с потоком, самим приложением или push-уведомлением. После этих событий приложение может сгенерировать URL-адреса манифеста рекламного блока и дать указание плееру начать загрузку манифеста рекламного блока.
Предварительные требования
Прежде чем продолжить, убедитесь, что у вас есть следующее:
- В вашей рекламной сети Google Ad Manager включена поддержка DAI Pod.
- Событие прямой трансляции с типом манифеста обслуживания подов . Чтобы создать событие, см. раздел «Настройка прямой трансляции для DAI» .
Следуйте рекомендациям
Перед генерацией URL-адреса манифеста рекламного блока мы рекомендуем обратиться к API уведомлений о ранних рекламных паузах (EABN), чтобы указать ожидаемую продолжительность, информацию о таргетинге и другие параметры каждой рекламной паузы.
Для рабочих и тестовых потоков используйте API EABN, особенно если ваша рекламная сеть использует программные кампании. Дополнительную информацию см. в разделе «Функции и рекомендации по использованию Programmatic Direct» .
Отправить запрос на регистрацию на трансляцию
Когда пользователь запускает потоковую передачу контента в вашем приложении видеоплеера, вы отправляете запрос на регистрацию потока с параметрами таргетинга для создания сеанса потоковой передачи в Ad Manager. Подробную информацию о выполнении запроса на регистрацию потока см. в разделе Метод:stream . После этого вы получаете данные ответа на запрос.
Следующие примеры демонстрируют запрос на регистрацию в потоке:
HTTP в обычном текстовом формате
- Запрос:
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded
cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
- Ответ:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
Оболочка
- Командная строка:
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
--data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
--compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
- Выход:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
JavaScript
- Использование Fetch API:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
"method": "POST",
});
const stream = await response.json();
console.log(stream);
- Журнал консоли:
{
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"polling_frequency": 10,
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"manifest_format": "hls"
}
Опрос для получения метаданных рекламной паузы
После отправки запроса на регистрацию потока необходимо запросить метаданные объявления. Для этого на этапе регистрации в ответе потока устанавливается polling_frequence который будет вызывать функцию получения метаданных объявления. При каждом запросе вы можете получать частичный список объявлений с метаданными по мере их появления.
Сгенерируйте URL-адрес манифеста рекламного блока.
Сформируйте URL-адрес для ресурса pod-файла в API Pod Serving. Затем передайте этот URL-адрес видеоплееру, чтобы начать загрузку рекламного pod-файла.
Следующий пример демонстрирует структуру URL-адреса манифеста рекламного блока:
https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/ad_break_id/ab101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000
Вы можете рассчитать параметры URL-адреса манифеста рекламного блока на основе информации о рекламной паузе, полученной из видеоплеера или уведомления сервера. Требования к этим параметрам см. в разделе «Метод: манифест рекламного блока» .
Воспроизвести манифест рекламного подкаста
В клиентском приложении видеоплеера начните воспроизведение потокового контента с помощью основного видеоплеера и следуйте инструкциям в документации к вашему видеоплееру по наблюдению за воспроизведением и расписанием рекламы, если это необходимо.
Если вы генерируете URL-адреса манифеста рекламного блока и вставляете их в манифест на стороне сервера, отслеживайте предстоящие события рекламных пауз в видеоплеере и обязательно подписывайтесь на события ID3 во время каждого воспроизведения рекламной паузы. Если вы планируете события рекламных пауз на стороне клиента, подписывайтесь на события ID3 при их создании.
Отчеты о показах и рекламных событиях
Когда видеоплеер воспроизводит рекламный блок и обнаруживает метаданные id3 с временным интервалом, отслеживайте события , запускаемые видеоплеером, и обрабатывайте их для отправки запросов на подтверждение медиаконтента .