本文件涵蓋 SDK 2.x 版中的追蹤。
若您正在實作 SDK 1.x 版,您可以在此處下載 1.x 開發人員指南: 下載 SDK
初始追蹤設定
識別使用者何時觸發播放的意圖 (使用者點擊「播放」及/或開啟自動播放) 並建立 MediaObject
例項。
MediaObject
API 參考資料:
mediaObject = ADBMobile.media.createMediaObject(<name>, <id>, <duration>, <streamType>, <mediaType>);
StreamType
常數:
MediaType
常數:
附加視訊中繼資料
可選擇透過內容資料變數,將標準和/或自訂視訊中繼資料物件附加到視訊追蹤工作階段。
標準視訊中繼資料
將標準視訊中繼資料物件附加到媒體物件為選用。
自訂中繼資料
為自訂變數建立變數物件,並為此視訊填入資料。例如:
/* Set custom context data */
var customVideoMetadata = {
isUserLoggedIn: "false",
tvStation: "Sample TV station",
programmer: "Sample programmer"
};
追蹤開始播放的意圖
若要開始追蹤媒體工作階段,請呼叫 media
物件上的 trackSessionStart。
ADBMobile.media.trackSessionStart(mediaObject, customVideoMetadata);
trackSessionStart
會追蹤使用者的播放意圖,而非播放的開始。此 API 用來載入視訊資料/中繼資料,以及估計開始 QoS 量度所需的時間 (trackSessionStart
與 trackPlay
之間的時間)。
秒數值是您在步驟 2 建立的自訂視訊中繼資料物件名稱。若您未使用自訂視訊中繼資料,只要對 trackSessionStart
中的 data
引數傳送空白物件即可,如上方 iOS 範例中的備註行所示。
追蹤實際的播放開始
識別來自視訊播放器的視訊播放開始 (在畫面上轉譯了視訊的第一個時間格) 事件,並呼叫 trackPlay:
ADBMobile.media.trackPlay();
更新播放點值
播放點變更時多次更新 mediaUpdatePlayhead
位置值。
對於隨選影片 (VOD),此值是從媒體項目的開頭開始以秒為單位指定的。
對於直播串流,如果播放器未提供內容持續時間的相關資訊,則此值可以指定為自當天 UTC 午夜開始的秒數。
注意:使用進度標記時,需要內容持續時間,並且播放點需要更新為從媒體項目開始的秒數,從 0 開始。
ADBMobile().mediaUpdatePlayhead(position)
追蹤播放完成
識別來自視訊播放器的視訊播放完成 (使用者已觀看內容至結尾) 事件,並呼叫 trackComplete:
ADBMobile.media.trackComplete();
追蹤工作階段結尾
識別來自視訊播放器的視訊播放卸載/關閉 (使用者關閉視訊和/或視訊完成及卸載) 事件,並呼叫 trackSessionEnd:
ADBMobile.media.trackSessionEnd();
trackSessionEnd
會標記視訊追蹤工作階段的結尾。如果成功觀看工作階段至完成 (使用者觀看了內容至結尾),請確定在 trackComplete
之前呼叫 trackSessionEnd
。除了新視訊追蹤工作階段的 trackSessionStart
外,在 trackSessionEnd
之後會忽略任何其他 track*
API 呼叫。
追蹤所有可能的暫停情況
識別來自視訊播放器視訊暫停的事件,並呼叫 trackPause:
ADBMobile.media.trackPause();
暫停情況
識別視訊播放器將暫停的任何案例,並確定正確呼叫 trackPause
。以下情形都要求應用程式呼叫 trackPause()
:
識別來自播放器的視訊播放和/或來自暫停的視訊恢復事件,並呼叫 trackPlay:
ADBMobile.media.trackPlay();
這可能與在步驟 4 使用的事件來源相同。在視訊播放繼續時,使用後續的 trackPause()
API 呼叫確保 trackPlay()
API 呼叫成對。