在 Android 上追蹤廣告

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

重要

若您正在實作 SDK 1.x 版,您可以在此處下載 1.x 開發人員指南: 下載 SDK。

廣告追蹤常數

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

實施步驟

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

    AdBreakObject 參考資料:

    變數名稱 說明 必填
    name 廣告插播名稱,例如前段、中段和後段。
    position 內容中廣告插播的編號位置從 1 開始。
    startTime 廣告插播開始時的播放點值。

    廣告插播物件建立:

    MediaObject adBreakInfo =  
      MediaHeartbeat.createAdBreakObject(<ADBREAK_NAME>,  
                                         <POSITION>,  
                                         <START_TIME>);
    
  2. MediaHeartbeat 例項中使用 AdBreakStart 呼叫 trackEvent() 以開始追蹤廣告插播。

    public void onAdBreakStart(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart,  
                              adBreakInfo,  
                              null);
    }
    
  3. 識別廣告何時開始,並使用廣告資訊建立 AdObject 例項。

    AdObject 參考資料:

    變數名稱 說明 必填
    name 廣告的易記名稱。
    adId 廣告的唯一識別碼。
    position 廣告插播中的廣告編號位置從 1 開始。
    length 廣告長度

    廣告物件建立:

    MediaObject adInfo =  
      MediaHeartbeat.createAdObject(<AD_NAME>
                                    <AD_ID>,  
                                    <POSITION>,  
                                    <LENGTH>);
    
  4. 可選擇透過內容資料變數,將標準和/或廣告中繼資料附加到媒體追蹤工作階段。

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

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

      // Setting Ad Metadata
      HashMap<String, String> adMetadata = new HashMap<String, String>();
      adMetadata.put("affiliate", "Sample affiliate");
      adMetadata.put("campaign", "Sample ad campaign");
      
  5. MediaHeartbeat 例項中使用 AdStart 事件呼叫 trackEvent() 以開始追蹤廣告播放。

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

    public void onAdStart(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.AdStart,  
                              adInfo,  
                              adMetadata);
    }
    
  6. 當廣告播放達到廣告結尾時,請使用 AdComplete 事件呼叫 trackEvent():

    public void onAdComplete(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.AdComplete, null, null);
    }
    
  7. 如果由於使用者選擇略過廣告而導致廣告播放未完成,請追蹤 AdSkip 事件:

    public void onAdSkip(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.AdSkip, null, null);
    }
    
  8. 如果在相同 AdBreak 內有任何其他廣告,請再次重複步驟 3 到 7。

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

    public void onAdBreakComplete(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete, null, null);
    }
    

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

本頁內容