资产 ID

本页介绍​ 资产ID ​变量的数据收集。 查看对应报表维度的资产ID

资产ID变量是基础媒体资产的唯一标识符(例如剧集ID、电影ID或实时事件ID)。 通常来自元数据颁发机构,如EIDR、TMS/Gracenote或Rovi,但也接受专有或内部ID。 当您需要比较可能会将不同的内容ID分配给同一基础资产的分发平台之间的参与时,可使用它。

NOTE
XDM集合字段使用大写IDassetID
属性
上下文数据变量
a.media.asset
XDM集合字段
xdm.mediaCollection.sessionDetails.assetID
Audience Manager特征
c_contextdata.a.media.asset
必需
发送条件
会话开始,会话关闭

建议的实施类型

Web SDK

调用sendEvent时,在xdm.mediaCollection.sessionDetails中设置assetID

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        assetID: "89745363"
      },
      playhead: 0
    }
  }
});
iOS

在HashMap参数中将资产ID作为元数据键传递给trackSessionStart。 使用 MediaConstants.VideoMetadataKeys.ASSET_ID

code language-swift
var metadata: [String: String] = [:]
metadata[MediaConstants.VideoMetadataKeys.ASSET_ID] = "89745363"

tracker.trackSessionStart(info: mediaObject, metadata: metadata)
Android

在HashMap参数中将资产ID作为元数据键传递给trackSessionStart。 使用 MediaConstants.VideoMetadataKeys.ASSET_ID

code language-kotlin
val metadata = HashMap<String, String>()
metadata[MediaConstants.VideoMetadataKeys.ASSET_ID] = "89745363"

tracker.trackSessionStart(mediaInfo, metadata)
Roku

使用createMediaSessionsessionDetails中设置assetID

code language-brightscript
m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "assetID": "89745363"
            },
            "playhead": 0
        }
    }
})
Media Edge API

调用xdm.mediaCollection.sessionDetails中包含assetIDsessionStart终结点:

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "length": 128,
          "contentType": "vod",
          "playerName": "HTML5 Player",
          "channel": "Sports",
          "assetID": "89745363"
        },
        "playhead": 0
      }
    }
  }]
}

旧版实施类型(仅限Analytics)

Media SDK JS 3.x

使用ADB.Media.VideoMetadataKeys.AssetIdcontextData对象中传递资产ID:

code language-javascript
var contextData = {};
contextData[ADB.Media.VideoMetadataKeys.AssetId] = "89745363";

tracker.trackSessionStart(mediaInfo, contextData);
Chromecast

在调用trackSessionStart之前,使用ADBMobile.media.VideoMetadataKeys.ASSET_ID在媒体对象的StandardMediaMetadata属性中设置资产ID:

code language-javascript
var mediaInfo = ADBMobile.media.createMediaObject("My Video", "video-123", 128,
  ADBMobile.media.StreamType.VOD, ADBMobile.media.MediaType.Video);
var standardMetadata = {};
standardMetadata[ADBMobile.media.VideoMetadataKeys.ASSET_ID] = "89745363";
mediaInfo[ADBMobile.media.MediaObjectKey.StandardMediaMetadata] = standardMetadata;
ADBMobile.media.trackSessionStart(mediaInfo, null);
媒体收集API

params对象中包括media.assetId

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.assetId": "89745363"
  }
}

有关完整请求结构,请参阅媒体收集API会话引用

recommendation-more-help
media-analytics-help