Show Menu
主題×

Adobe Media Analytics for Audio and Video 擴充功能

使用本文件來瞭解安裝、設定和實作 Adobe Media Analytics for Audio and Video 擴充功能 (Media Analytics 擴充功能) 的相關資訊其中包含使用此擴充功能來建立規則時可用的選項,以及範例和範例連結。
Media Analytics (MA) 擴充功能新增核心的 JavaScript Media SDK (Media 2.x SDK)。此擴充功能提供將 MediaHeartbeat 追蹤器例項新增至 Launch 網站或專案的功能。MA 擴充功能需要額外的擴充功能:
音訊追蹤功能需有 Analytics 擴充功能 v1.6 或更高版本,才能正常運作。
在您的 Launch 專案中納入上述的三個擴充功能後,您可以使用下列兩種方式之一繼續操作:
  • 從您的網頁應用程式使用 MediaHeartbeat API
  • 納入或建立播放器特定的擴充功能,此模組會將特定的媒體播放器事件對應到 MediaHeartbeat 追蹤器例項上的 API。此例項透過 MA 會擴充功能公開。

安裝並設定 MA 擴充功能

  • 安裝 - 若要安裝 MA 擴充功能,請開啟您的擴充功能屬性,按一下「 Extensions > Catalog 」,接著將游標暫留在「 Adobe Media Analytics for Audio and Video
    擴充功能上,然後按一下「 Install 」。
  • 設定 - 若要設定 MA 擴充功能,請開啟「Extensions」標籤、將游標暫留在擴充功能上,然後按一下「 Configure 」。

設定選項:

選項
說明
追蹤伺服器
定義用於追蹤媒體心率的伺服器 (此伺服器與您的 Analytics 追蹤伺服器不同)
應用程式版本
媒體播放器應用程式/SDK 的版本
播放器名稱
使用的媒體播放器名稱 (例如:「AVPlayer」、「HTML5 播放器」、「我的自訂視訊播放器」)
管道
頻道名稱屬性
線上視訊提供者
線上視訊平台的名稱,透過該平台來分送內容
除錯記錄
啟用或停用記錄
啟用 SSL
啟用或停用透過 HTTPS 傳送 Ping
將 API 匯出至視窗物件
啟用或停用將 Media Analytics API 匯出至全域範圍
變數名稱
用來匯出 window 物件下 Media Analytics API 的變數
提醒: MA 擴充功能需有 Analytics Experience Cloud ID 擴充功能,才能正常運作。您也必須將這些擴充功能新增至擴充功能屬性並加以設定。

使用 MA 擴充功能

從網頁/JS 應用程式使用

MA 擴充功能會啟用「Configuration」頁面中的「將 API 匯出至視窗物件」設定,以將 MediaHeartbeat API 匯出至全域視窗物件中。這會以設定的變數名稱匯出 API。例如,如果變數名稱設定為 ADB ,則可使用 window.ADB.MediaHeartbeat 來存取 MediaHeartbeat。
MA 擴充功能僅會在 window["CONFIGURED_VARIABLE_NAME"] 未定義時匯出 API,而不會覆寫現有變數。
  1. 建立 MediaHeartbeat 例項:   window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat.getInstance
    參數: ​有效的委派物件會顯示以下函數。
    方法
     說明  
    getQoSObject()
    傳回包含目前 QoS 資訊的 theMediaObject 例項。將在播放工作階段期間呼叫此方法多次。播放器實施必須一律傳回最新可用的 QoS 資料。
    getCurrentPlaybackTime()
    傳回播放點的目前位置。對於 VOD 追蹤,該值是從媒體項目的開頭開始以秒為單位指定的。對於 LIVE/LIVE 追蹤,該值是從節目的開頭開始以秒為單位指定的。
    傳回值: ​一種 Promise,使用 MediaHeartbeat 例項解析,或拒絕並提供錯誤訊息。
  2. 存取 MediaHeartbeat 常數:   window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat
    這會公開 MediaHeartbeat 類別中的所有常數和靜態方法。
    範例播放器可從這裡取得: MA 範例播放器 。範例播放器可作為參考,以示範如何使用 MA 擴充功能直接從網路應用程式支援 Media Analytics。
  3. 建立 MediaHeartbeat 追蹤器例項,如下所示:
    var MediaHeartbeat = window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat;
    
    var delegate = {
        getCurrentPlaybackTime: this._getCurrentPlaybackTime.bind(this),
        getQoSObject: this._getQoSObject.bind(this),
    };
    
    var config = {
        playerName: "Custom Player",
        ovp: "Custom OVP",
        channel: "Custom Channel"
    };
    
    var self = this;
    MediaHeartbeat.getInstance(delegate, config).then(function(instance) {
        self._mediaHeartbeat = instance;
        // Do Tracking using the MediaHeartbeat instance.
    }).catch(function(err){
        // Getting MediaHeartbeat instance failed.
    });
    
    

從其他擴充功能使用

MA 擴充功能會將 get-instance 模組和 media-heartbeat 共用模組公開至其他擴充功能(如需共用模組的其他資訊,請參閱 共用模組文件 )。
共用模組只能從其他擴充功能存取。也就是說,網頁/JS 應用程式無法存取共用模組,或在擴充功能之外使用 turbine (請參閱下面的程式碼範例)。
  1. 建立 MediaHeartbeat 例項:   get-instance 共用模組
    參數:
    • 有效的委派物件會顯示以下函數:
      方法
       說明  
      getQoSObject()
      傳回包含目前 QoS 資訊的 MediaObject 例項。將在播放工作階段期間呼叫此方法多次。播放器實作必須一律傳回最新的可用 QoS 資料。
      getCurrentPlaybackTime()
      傳回播放點的目前位置。對於 VOD 追蹤,該值是從媒體項目的開頭開始以秒為單位指定的。對於 LIVE/LIVE 追蹤,該值是從節目的開頭開始以秒為單位指定的。
    • 選用的設定物件會顯示這些屬性:
      屬性
      說明
      必填
      線上視訊提供者
      線上視訊平台的名稱,透過該平台來分送內容。
      不會。如果存在,則會在擴充功能設定期間覆寫定義的值。
      播放器名稱
      使用的媒體播放器名稱 (例如:「AVPlayer」、「HTML5 播放器」、「我的自訂視訊播放器」)
      不會。如果存在,則會在擴充功能設定期間覆寫定義的值。
      管道
      頻道名稱屬性
      不會。如果存在,則會在擴充功能設定期間覆寫定義的值。
      傳回值: ​一種 Promise,使用 MediaHeartbeat 例項解析,或拒絕並提供錯誤訊息。
  2. 存取 MediaHeartbeat 常數:   media-heartbeat 共用模組
    此模組會公開此類別中所有的常數和靜態方法: https://adobe-marketing-cloud.github.io/media-sdks/reference/javascript/MediaHeartbeat.html
  3. 建立 MediaHeartbeat 追蹤器例項,如下所示:
    var getMediaHeartbeatInstance =
      turbine.getSharedModule('adobe-video-analytics', 'get-instance');
    
    var MediaHeartbeat =
      turbine.getSharedModule('adobe-video-analytics', 'media-heartbeat');
      ...
    
    var delegate = {
        getCurrentPlaybackTime: this._getCurrentPlaybackTime.bind(this),
        getQoSObject: this._getQoSObject.bind(this),
    }
    
    var config = {
        playerName: "Custom Player",
        ovp: "Custom OVP",
        channel: "Custom Channel"
    }
    ...
    
    var self = this;
    getMediaHeartbeatInstance(delegate, config).then(function(instance) {
        self._mediaHeartbeat = instance;
        ...
        // Do Tracking using the MediaHeartbeat instance.
    }).catch(function(err){
        // Getting MediaHeartbeat instance failed.
    });
    
    ...
    
    
  4. 使用 Media Heartbeat 例項,並按照 Media SDK JS 文件 JS API 文件 中的說明來實施媒體追蹤。
測試: ​在這個版本中,若要測試您的擴充功能,必須將其上傳至 Adobe Experience Platform Launch ,以便在其中存取所有相依的擴充功能。