在 Android 中跟踪章节和区段

重要

以下说明为使用 2.x SDK 进行实施提供了指南。如果您实施的是 1.x 版本的 SDK,可以在此处下载开发人员指南:下载 SDK

实施章节跟踪

  1. 识别执行章节开始事件的时间,然后使用章节信息创建 ChapterObject 实例。

    ChapterObject 章节跟踪引用:

    注意

    只有在您打算跟踪章节的情况下,才需要使用这些变量。

    变量名称 描述 必需
    name 章节名称
    position 章节位置
    length 章节长度
    startTime 章节开始时间

    章节对象:

    MediaObject chapterDataInfo =  
      MediaHeartbeat.createChapterObject(<CHAPTER_NAME>,  
                                         <POSITION>,  
                                         <LENGTH>,  
                                         <START_TIME>);
    
  2. 如果为章节添加了自定义元数据,请为该元数据创建上下文数据变量:

    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 事件:

    public void onChapterStart(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.ChapterStart,  
                              chapterDataInfo,  
                              chapterMetadata); 
    }
    
  4. 当播放到达您通过自定义代码定义的章节结尾边界时,在 ChapterComplete 实例中调用 MediaHeartbeat 事件:

    public void onChapterComplete(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.ChapterComplete, null, null); 
    }
    
  5. 如果由于用户选择跳过章节(例如,用户搜寻章节边界之外的内容)而使章节播放未能完成,请在 MediaHeartbeat 实例中调用 ChapterSkip 事件:

    public void onChapterSkip(Observable observable, Object data) {  
        _heartbeat.trackEvent(MediaHeartbeat.Event.ChapterSkip, null, null); 
    }
    
  6. 如果存在任何其他章节,请重复执行步骤 1 至 5。

在此页面上