在 Android 上追蹤章節和區段 track-chapters-and-segments-on-android

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

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

實作章節追蹤

  1. 識別章節開始事件何時發生,並使用章節資訊建立 ChapterObject 例項。

    ChapterObject 章節追蹤參考資料:

    note note
    NOTE
    唯有在您計劃追蹤章節時,才須使用這些變數。
    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center
    變數名稱 說明 必填
    name 章節名稱
    position 章節位置
    length 章節長度
    startTime 章節開始時間

    章節物件:

    code language-java
    MediaObject chapterDataInfo =
      MediaHeartbeat.createChapterObject(<CHAPTER_NAME>,
                                         <POSITION>,
                                         <LENGTH>,
                                         <START_TIME>);
    
  2. 如果您包含該章節的自訂中繼資料,請為中繼資料建立內容資料變數:

    code language-java
    HashMap<String, String> chapterMetadata =
      new HashMap<String,String>();
    chapterMetadata.put("segmentType", "Sample Segment Type");
    chapterMetadata.put("segmentName", "Sample Segment Name");
    chapterMetadata.put("segmentInfo", "Sample Segment Info");
    
  3. 若要開始追蹤章節播放,請呼叫 ChapterStart 例項中的 MediaHeartbeat 事件:

    code language-java
    public void onChapterStart(Observable observable, Object data) {
        _heartbeat.trackEvent(MediaHeartbeat.Event.ChapterStart,
                              chapterDataInfo,
                              chapterMetadata);
    }
    
  4. 當播放達到由您的自訂程式碼定義之章節結束界限時,請呼叫 ChapterComplete 例項中的 MediaHeartbeat 事件:

    code language-java
    public void onChapterComplete(Observable observable, Object data) {
        _heartbeat.trackEvent(MediaHeartbeat.Event.ChapterComplete, null, null);
    }
    
  5. 如果因為使用者選擇略過章節而未完成章節播放 (例如,如果使用者搜尋超出章節界限),請呼叫 MediaHeartbeat 例項中的 ChapterSkip 事件:

    code language-java
    public void onChapterSkip(Observable observable, Object data) {
        _heartbeat.trackEvent(MediaHeartbeat.Event.ChapterSkip, null, null);
    }
    
  6. 如果有任何其他章節,請重複步驟 1 到 5。

recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb