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

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

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

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

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

Параметры токена
custom_asset_key Необходимый Пользовательский ключ объекта прямой трансляции из Google Ad Manager.
cust_params Необязательный Пользовательские параметры таргетинга. См. cust_params .
exp Необходимый Временная метка срока действия этого токена в секундах.
network_code Необходимый Код сети Менеджера рекламы 360 для этой сети.
pod_id Необходимый Идентификатор рекламной паузы. Должно быть целым числом, начинающимся с 1 и увеличивающимся на единицу для каждой рекламной паузы.

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

pd Обязательно, за исключением мероприятий с включенными бесконечными рекламными паузами. Продолжительность рекламной паузы в миллисекундах. Выше упоминается как ad_pod_duration .
scte35 Необязательный Сигнал SCTE-35 в кодировке Base64. Ответственность за правильность сигнала лежит на клиенте. Если это неверно, сообщение отправляется в HTTP-заголовок X-Ad-Manager-Dai-Warning в ответе, и сигнал по-прежнему распространяется для создания рекламной паузы. См. поддерживаемые рекламные маркеры для получения дополнительной информации о том, как DAI использует сигнал SCTE-35.

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

перечислите каждый параметр в алфавитном порядке в формате 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 строки токена в формате HEX. Секретный ключ – это ключ аутентификации HMAC, связанный с вашей прямой трансляцией в Google Ad Manager.

Подписать строку токена

После создания добавьте подпись HMAC к строке токена в следующем формате.

~hmac={HMAC signature}

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

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

Пример 1

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

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

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

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

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Подпись HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

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

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

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

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

Пример 2

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

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

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~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