使用 JavaScript 3.x 追蹤廣告 track-ads-on-javascript

下列指示提供使用 3.x SDK 實作的指引。

IMPORTANT
若您正在實作任何舊版的 SDK,您可以在此處下載開發人員指南:下載 SDK

廣告追蹤常數

常數名稱
說明
AdBreakStart
用於追蹤廣告插播開始事件的常數
AdBreakComplete
用於追蹤廣告插播事件的常數
AdStart
用於追蹤廣告開始事件的常數
AdComplete
用於追蹤廣告完成事件的常數
AdSkip
用於追蹤廣告略過事件的常數

實作步驟

  1. 識別廣告插播界限何時開始 (包括前段),並使用廣告插播資訊建立 AdBreakObject

    AdBreakObject 參考資料:

    table 0-row-3 1-row-3 2-row-3 3-row-3
    變數名稱 類型 說明
    name 字串 表示廣告插播名稱 (前段、中段和後段) 的非空白字串。
    position 數字 廣告插播的編號位置從 1 開始。
    startTime 數字 廣告插播開始時的播放點值。

    廣告插播物件建立:

    code language-js
    var adBreakObject =
      ADB.Media.createAdBreakObject(<ADBREAK_NAME>,
                                       <POSITION>,
                                       <START_TIME>);
    
  2. MediaHeartbeat 例項中使用 AdBreakStart 呼叫 trackEvent() 以開始追蹤廣告插播。

    code language-js
    tracker.trackEvent(ADB.Media.Event.AdBreakStart, adBreakObject);
    
  3. 識別廣告何時開始,並使用廣告資訊建立 AdObject 例項。

    AdObject 參考資料:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
    變數名稱 類型 說明
    name 字串 表示廣告名稱的非空白字串。
    adId 字串 表示廣告識別碼的非空白字串。
    position 數字 廣告插播中的廣告編號位置從 1 開始。
    length 數字 表示廣告長度的正數。

    廣告物件建立:

    code language-js
    var adObject =
      ADB.Media.createAdObject.createAdObject(<AD_NAME>,
                                    <AD_ID>,
                                    <POSITION>,
                                    <LENGTH>);
    
  4. (選用)透過內容資料變數,將標準和/或廣告中繼資料附加到媒體追蹤工作階段。

    • 在 JavaScript 上實作標準廣告中繼資料

    • 自訂廣告中繼資料 - 對於自訂中繼資料,請建立自訂資料變數的變數物件,並填入目前廣告的資料:

      code language-js
      /* Set context data */
      // Standard metadata keys provided by adobe.
      adMetadata[ADB.Media.AdMetadataKeys]  ="Sample Advertiser";
      adMetadata[ADB.Media.AdMetadataKeys] = "Sample Campaign";
      
      // Custom metadata keys
      adMetadata["affiliate"] = "Sample affiliate";
      adMetadata["campaign"] = "Sample ad campaign";
      adMetadata["creative"] = "Sample creative";
      
  5. MediaHeartbeat 例項中使用 AdStart 事件呼叫 trackEvent() 以開始追蹤廣告播放。

    將參考加入您的自訂中繼資料變數 (或空白物件),作為事件呼叫中的第三個參數:

    code language-js
    _onAdStart = function() {
        tracker.trackEvent(ADB.Media.Event.AdStart, adObject, adMetadata);
    };
    
  6. 當廣告播放達到廣告結尾時,請使用 AdComplete 事件呼叫 trackEvent()

    code language-js
    _onAdComplete = function() {
        tracker.trackEvent(ADB.Media.Event.AdComplete);
    };
    
  7. 如果由於使用者選擇略過廣告而導致廣告播放未完成,請追蹤 AdSkip 事件:

    code language-js
    _onAdSkip = function() {
        tracker.trackEvent(ADB.Media.Event.AdSkip);
    };
    
  8. 如果在相同 AdBreak 內有任何其他廣告,請再次重複步驟 3 到 7。

  9. 當廣告插播完成時,請使用 AdBreakComplete 事件進行追蹤:

    code language-js
    _onAdBreakComplete = function() {
        tracker.trackEvent(ADB.Media.Event.AdBreakComplete);
    };
    

如需詳細資訊,請參閱追蹤案例具有前段廣告的 VOD 播放

精細的廣告追蹤

預設廣告Ping間隔為 10 seconds.

您可以設定精細的廣告追蹤,以啟用 1 second 廣告追蹤。

IMPORTANT
啟動追蹤工作階段時,必須提供此資訊。

語法

ADB.Media.MediaObjectKey = {
   GranularAdTracking: "media.granularadtracking"
   }

範例

var mediaObject = ADB.Media.createMediaObject("media-name", "media-id", 60, ADB.Media.StreamType.VOD, ADB.Media.MediaType.Video);

// Enable granular ad tracking
mediaObject[ADB.Media.MediaObjectKey.GranularAdTracking] = true;

tracker.trackSessionStart(mediaObject);
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb