发送广告插播提前通知

Google 动态广告插播 (DAI) 支持高并发直播。广告插播时间点提前通知 (EABN) 是指请求 Google DAI 安排即将到来的广告插播时间点或立即开始广告决策,从而优化广告填充率和广告加载时间。

如需针对全服务广告连播投放服务器引导型广告插入启动广告插播提前通知,请使用 AdBreaks 资源。此资源可为您通过 Google Ad Manager 界面或 Google Ad Manager SOAP API LiveStreamEventService 创建的所有直播创建和管理广告插播时间点。

本页介绍了如何将广告插播时间点安排为广告插播提前通知。

前提条件

如需创建或管理广告插播时间点,您需要拥有直播系统生成的素材资源键自定义素材资源键。您也可以在直播详情页面上找到这些键。请参阅使用 Google Ad Manager 界面为 DAI 设置直播

安排广告插播时间点

当直播观看人数增加时,您可以安排广告插播时间。对于每项直播活动,请使用 Create 服务方法单独安排一个广告插播时间点,最早可提前 6 小时。请注明预计开始时间和广告插播 ID。DAI 会在接近预定时间时开始进行广告决策。对于立即插播广告的决策,请忽略广告插播预计开始时间。

如需让 Google DAI 立即开始做出广告决策,您可以在调用 Create 时省略广告插播的预计开始时间。

以下示例为类型为 Linear 的直播活动安排了广告插播时间,该广告插播时间的开始时间为 2025 年 3 月 6 日下午 4:00(世界协调时间 [UTC]):

cURL

curl 'https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks' \
  -H 'authorization: Bearer ACCESS_TOKEN' \
  -H 'content-type: application/json' \
  --data-raw '{"adBreakId":"mid-roll-1","assetKey":"ASSET_KEY","duration":"30s","expectedStartTime":"2025-03-06T16:00:00Z"}'

Node.js

fetch("https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks", {
    "headers": {
      "authorization":
        "Bearer ACCESS_TOKEN",
        "Content-Type": "application/json",
    },
  "body": JSON.stringify({
    "adBreakId": "mid-roll-1",
    "duration": "30s",
    "expectedStartTime": "2025-03-06T16:00:00Z"
  }),
  "method": "POST"
});

如果成功,您会看到以下 JSON 响应:

{
  "name": "networks/.../liveStreamEventsByAssetKey/.../adBreaks/mid-roll-1",
  "adBreakId": "mid-roll-1",
  "assetKey": "...",
  "expectedStartTime": "2025-03-06T16:00:00Z",
  "duration": "30s",
  "breakState": "SCHEDULED"
}

如需查询广告插播时间点,请使用 List 方法。如需检查广告插播的详细信息,请使用 Get 方法。

以下示例列出了直播活动的所有广告插播时间点:

cURL

curl 'https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks' \
  -H 'authorization: Bearer ACCESS_TOKEN'

Node.js

fetch(
  "https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks",
  {
    "headers": {
      "authorization": "Bearer ACCESS_TOKEN",
    },
    "method": "GET"
  }
);

如果成功,您会看到以下 JSON 响应:

{
  "adBreaks": [
    {
      "name": "networks/.../liveStreamEventsByAssetKey/.../adBreaks/mid-roll-1",
      "adBreakId": "mid-roll-1",
      "assetKey": "...",
      "expectedStartTime": "2025-03-06T16:00:00Z",
      "duration": "30s",
      "breakState": "DECISIONED",
      "breakSequence": "1"
    }
  ]
}

如果您想将当前广告插播时间提前,请使用 Update 方法更改预计开始时间。如果您想取消当前的广告插播,请在其状态变为 COMPLETED 之前使用 Delete 方法。

如需再创建一个广告插播时间点,请等待当前广告插播时间点的状态变为 COMPLETED