Создать подписанный токен HMAC

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

Этот токен можно рассчитать один раз за рекламную паузу и использовать совместно со всеми сеансами трансляции.

Соберите параметры токена

Соберите следующую информацию из текущей рекламной паузы, чтобы заполнить тело токена.

Параметры токена
ad_break_id Требуется, если параметр pod_id не указан. Строковый идентификатор рекламной паузы.
custom_asset_key Обязательно, если параметр event не указан. Пользовательский ключ актива прямой трансляции от Google Ad Manager.
cust_params Необязательный Пользовательские параметры таргетинга для рекламной паузы.
event Требуется, если параметр custom_asset_key не указан. Ключ актива прямой трансляции, сгенерированный Google Ad Manager.
exp Необходимый Временная метка истечения срока действия этого токена в секундах.
network_code Требуется, если указан параметр custom_asset_key . Сетевой код Менеджера рекламы 360 для этой сети.
pod_id Требуется, если параметр ad_break_id не указан. Числовой идентификатор рекламной паузы.
pd Обязательно, за исключением событий с включенными рекламными паузами ограниченной длительности. Длительность рекламной паузы в миллисекундах.
scte35 Необязательный Сигнал SCTE-35, закодированный в Base64, для рекламной паузы.

Создать строку токена

перечислите все параметры в алфавитном порядке в формате name=value , где каждая пара имя-значение разделена символом тильды ( ~ ).

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

формат строки токена

custom_asset_key={custom_asset_key}~exp={expiration}~network_code={network_code}~pd={pod_duration}~pod_id={ad_pod_index}~scte35={scte35_message}

Генерация подписи HMAC

Подпись HMAC — это хэш SHA-256 строки токена в шестнадцатеричном формате. Секретный ключ — это ключ аутентификации HMAC, связанный с вашим событием прямой трансляции в Google Ad Manager.

Строка токена подписи

После генерации добавьте подпись HMAC к строке токена в следующем формате:

~hmac={HMAC signature}

Строка токена URL-кодирования

Этот токен передается как параметр URL, поэтому для безопасности он должен быть закодирован в URL.

Пример 1

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

Строка токена

cust_params=~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=

Секретный ключ

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

подпись HMAC

ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Подписанный токен

cust_params=~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=~hmac=ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Подписанный токен, закодированный в URL:

cust_params%3D~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3Dea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Пример 2

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

Строка токена

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Секретный ключ
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
подпись HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Подписанный токен

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~hmac=6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

URL-кодированный подписанный токен

custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~hmac%3D6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Пример 3

Вот пример с ad_break_id .

Строка токена

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000
Секретный ключ
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
подпись HMAC
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

Подписанный токен

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~hmac=327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

URL-кодированный подписанный токен

ad_break_id%3Dadbreak1~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~hmac%3D327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29