生成已签名的 HMAC 令牌

使用细分受众群重定向 Pod 投放的每个细分受众群请求都必须包含用于进行身份验证的带有 HMAC 签名的令牌(如果您不使用广告插播提前通知)。

可以针对每个广告插播时间点计算此令牌一次,并在所有视频流会话中共享此令牌。

收集令牌参数

从当前广告插播时间点收集以下信息来填充令牌正文。

令牌参数
custom_asset_key 必需 来自 Google Ad Manager 的自定义直播素材资源键。
cust_params 可选 自定义定位参数。请参阅 cust_params
exp 必需 此令牌的到期时间戳(以秒为单位)。
network_code 必需 此广告资源网的 Ad Manager 360 广告资源网代码。
pod_id 必需 广告插播时间点的标识符。应是一个从 1 开始且每个广告插播时间点递增 1 的整数。

对于在当前事件中观看同一广告插播的所有用户,此值必须相同。

pd 必需,但启用了无时长限制的活动除外。 广告插播的时长(以毫秒为单位)。在上文中称为 ad_pod_duration
scte35 可选 Base64 编码的 SCTE-35 信号。客户端负责确保信号正确。如果不正确,系统会向响应中的 X-Ad-Manager-Dai-Warning HTTP 标头发送消息,并且仍会传播相应信号以创建广告插播。如需详细了解 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 哈希值,采用十六进制格式。密钥是与 Google Ad Manager 中的直播活动相关联的 HMAC 身份验证密钥

签名令牌字符串

生成后,将 HMAC 签名附加到令牌字符串中,格式如下:

~hmac={HMAC signature}

网址编码令牌字符串

此令牌是作为网址参数传递的,因此为了安全起见,必须对其进行网址编码。

示例 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

网址编码的签名令牌:

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

网址编码的签名令牌

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