本指南演示了如何使用 DAI API 请求包含可跳过广告的 VOD 串流、根据 Google Ads 要求呈现跳过按钮,以及发送关联的跟踪事件。
前提条件
- 用于为 VOD 流实现 DAI API 调用的应用。如需了解详情,请参阅请求 DAI VOD 串流。
请求可跳过的广告
如需请求包含可跳过广告的 VOD 在线播放,您必须在在线播放请求中传递 dai-sas
参数。
API 端点
POST: /ondemand/v1/hls/content/{CMS_ID}/vid/{VIDEO_ID}/stream
Host: dai.google.com
Content-Type: application/x-www-form-urlencoded
路径参数
{CMS_ID} |
数据流的 CMS ID。 |
{VIDEO_ID} |
直播的视频 ID。 |
身体参数
dai-sas |
设置 dai-sas=1 可启用可跳过的广告。
|
请求示例 (c网址)
对于 HLS 串流请求:
curl -X POST \
-d 'dai-sas=1' \
-H 'Content-Type: application/x-www-form-urlencoded' \
https://dai.google.com/ondemand/v1/hls/content/{CMS_ID}/vid/{VIDEO_ID}/stream
将 DASH 视频流的网址中的 'dash'
替换为:
https://dai.google.com/ondemand/v1/dash/content/{CMS_ID}/vid/{VIDEO_ID}/stream
使用以下格式在请求正文中添加多个串流参数:
-d 'dai-sas=1&cust_params=key1%3dvalue1%26key2%3dvalue2' \
处理广告跳过
如需处理广告跳过,请使用 Ad
结构体或 AdBreak
结构体中的信息,具体取决于您要跳过当前广告还是整个广告插播。取 start
值并添加 duration
值,然后跳转到数据流中的相应点。SkipMetadata
子消息还包含 offset
值,该值表示用户可以跳过广告之前需要等待的时间(以秒为单位)。SkipMetadata
子消息仅会包含在可跳过的广告中。
ad_breaks |
广告插播时间点列表。
|
示例响应
{
...
"ad_breaks":[
{
...
"start":0,
"duration":10,
"ads":[
{
...
"start":0,
"duration":10,
"skip_metadata":{
"offset": 5,
"tracking_url": "https://example_skip_url.com"
}
}
}
}
广告被跳过后,请对数据流响应中包含的跳过事件网址执行 ping 操作。它包含在 SkipMetadata
子消息中。
“跳过”按钮要求
对于可跳过的广告,请按照以下设计要求呈现跳过按钮。如果您不遵循这些要求,我们可能会限制在您的网站或应用中投放 Google 广告。
倒计时器
在 VAST 中指定的 skipoffset
时间之前,广告不得可跳过。在此不可跳过的时段内,您必须向用户显示一条通知,告知他们可以在 X 秒后跳过广告。该通知必须翻译成用户所用语言。
“跳过”按钮的位置
对于从左到右的语言,请将跳过按钮放在视频播放器的右下角。对于从右到左的语言,请将跳过按钮放在视频播放器的左下角。
“跳过”按钮大小
按钮和文本必须足够大,以便在放松体验中清晰易辨。
文字和图标
跳过按钮必须同时包含文字和图标。您可以使用 Material 版“跳过下一个”图标作为图标。
无障碍
用户应能够使用键盘或遥控器前往跳过按钮。倒计时结束后,应用应将焦点移至跳过按钮。
国际化
建议将跳过文本翻译成用户的语言。
广告连播
跳过按钮可用于跳过广告连播中的当前广告,或跳过整个广告连播。
“跳过广告”的翻译
使用 skipAdTranslations.json
文件根据用户的语言区域翻译“跳过广告”文字。