以下说明为使用 2.x SDK 的实施提供了指南。
如果您实施的是 1.x 版本的 SDK,可以在此处下载开发人员指南:下载 SDK。
识别执行章节开始事件的时间,然后使用章节信息创建 ChapterObject
实例。
ChapterObject
章节跟踪引用:
只有在您打算跟踪章节的情况下,才需要使用这些变量。
变量名称 | 描述 | 必需 |
---|---|---|
name |
章节名称 | 是 |
position |
章节位置 | 是 |
length |
章节长度 | 是 |
startTime |
章节开始时间 | 是 |
章节对象:
MediaObject chapterDataInfo =
MediaHeartbeat.createChapterObject(<CHAPTER_NAME>,
<POSITION>,
<LENGTH>,
<START_TIME>);
如果为章节添加了自定义元数据,请为该元数据创建上下文数据变量:
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");
要开始跟踪章节播放,请在 ChapterStart
实例中调用 MediaHeartbeat
事件:
public void onChapterStart(Observable observable, Object data) {
_heartbeat.trackEvent(MediaHeartbeat.Event.ChapterStart,
chapterDataInfo,
chapterMetadata);
}
当播放到达您通过自定义代码定义的章节结尾边界时,在 ChapterComplete
实例中调用 MediaHeartbeat
事件:
public void onChapterComplete(Observable observable, Object data) {
_heartbeat.trackEvent(MediaHeartbeat.Event.ChapterComplete, null, null);
}
如果由于用户选择跳过章节(例如,用户搜寻章节边界之外的内容)而使章节播放未能完成,请在 MediaHeartbeat 实例中调用 ChapterSkip
事件:
public void onChapterSkip(Observable observable, Object data) {
_heartbeat.trackEvent(MediaHeartbeat.Event.ChapterSkip, null, null);
}
如果存在任何其他章节,请重复执行步骤 1 至 5。