在 VOD 串流中启用可跳过的广告

本指南演示了如何使用 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 广告插播时间点列表。
start (数字)广告插播开始的位置(以秒为单位)。
duration (数字)广告插播时长(以秒为单位)。
ads (object(Ad)) 数据流中的广告列表。
start (数字)广告在视频流中的开始位置(以秒为单位)。
duration (数字)广告时长(以秒为单位)。
skip_metadata (object(SkipMetadata)) 可选的跳过型广告元数据。如果设置了此属性,则表示广告可跳过,并包含有关如何处理跳过界面和跟踪事件的说明。
offset (数字) 偏移量表示播放器应等待广告播放多长时间(以秒为单位)才能呈现“跳过”按钮。如果未在 VAST 中提供,则省略。
tracking_url (字符串)应在跳过事件中对其执行 ping 操作的网址。

示例响应

{
  ...
  "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 文件根据用户的语言区域翻译“跳过广告”文字。