广告时间开始

广告时间开始事件表示广告时间的开始。 广告时间是一个或多个广告的序列。 每个adStartadCompleteadSkip事件都必须在adBreakStartadBreakComplete对之间发生,即使播放单个广告也是如此。

IMPORTANT
忽略广告事件(adStartadCompleteadSkip),但不包含adBreakStartadBreakComplete个书挡。 如果没有这些时间戳,广告持续时间将归因于主内容持续时间,这会影响汇总的报表数据。

建议的实施类型

Web SDK

使用eventType: "media.adBreakStart"和所需的advertisingPodDetails调用sendEvent

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.adBreakStart",
    mediaCollection: {
      advertisingPodDetails: {
        friendlyName: "pre-roll",
        index: 1,
        offset: 0
      },
      sessionID: "{sid}",
      playhead: 0
    }
  }
});
iOS

将广告时间名称、位置和开始时间传递给createAdBreakObject,然后调用trackEvent

code language-swift
let adBreakObject = Media.createAdBreakObjectWith(name: "pre-roll",
                                              position: 1,
                                             startTime: 0)

tracker.trackEvent(event: MediaEvent.AdBreakStart, info: adBreakObject, metadata: nil)
Android

将广告时间名称、位置和开始时间传递给createAdBreakObject,然后调用trackEvent

code language-kotlin
val adBreakObject = Media.createAdBreakObject("pre-roll",
                                              1,
                                              0)

tracker.trackEvent(Media.Event.AdBreakStart, adBreakObject, null)
Roku

使用eventType: "media.adBreakStart"和所需的advertisingPodDetails调用sendMediaEvent

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.adBreakStart",
        "mediaCollection": {
            "advertisingPodDetails": {
                "friendlyName": "pre-roll",
                "index": 1,
                "offset": 0
            },
            "playhead": 0
        }
    }
})
Media Edge API

使用所需的advertisingPodDetails调用adBreakStart终结点:

code language-sh
curl -X POST "https://edge.adobedc.net/ee/va/v1/adBreakStart?configId={datastreamID}" \
--header 'Content-Type: application/json' \
--data '{
  "events": [{
    "xdm": {
      "eventType": "media.adBreakStart",
      "mediaCollection": {
        "sessionID": "{sid}",
        "playhead": 0,
        "advertisingPodDetails": {
          "index": 0,
          "offset": 0
        }
      },
      "timestamp": "YYYY-08-20T22:41:40+00:00"
    }
  }]
}'

旧版实施类型(仅限Analytics)

Media SDK JS 3.x

将广告时间名称、位置和开始时间传递给ADB.Media.createAdBreakObject

code language-javascript
var adBreakInfo = ADB.Media.createAdBreakObject(
  "pre-roll",  // name
  1,           // position
  0            // start time (seconds)
);

tracker.trackEvent(ADB.Media.Event.AdBreakStart, adBreakInfo, null);
Chromecast

将广告时间名称、位置和开始时间传递给ADBMobile.media.createAdBreakObject

code language-javascript
var adBreakInfo = ADBMobile.media.createAdBreakObject(
  "pre-roll",  // name
  1,           // position
  0            // start time (seconds)
);

ADBMobile.media.trackEvent(ADBMobile.media.Event.AdBreakStart, adBreakInfo);
媒体收集API

事件终结点发送adBreakStart帖子:

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "adBreakStart",
  "params": {
    "media.ad.podFriendlyName": "pre-roll",
    "media.ad.podIndex": 1,
    "media.ad.podSecond": 0
  }
}
recommendation-more-help
media-analytics-help