以下说明为使用 2.x SDK 的实施提供了指南。
如果您实施的是 1.x 版本的 SDK,可以在此处下载开发人员指南:下载 SDK。
识别执行章节开始事件的时间,然后使用章节信息创建 ChapterObject
实例。
ChapterObject
章节跟踪引用:
只有在您打算跟踪章节的情况下,才需要使用这些变量。
变量名称 | 描述 | 必需 |
---|---|---|
name |
章节名称 | 是 |
position |
章节位置 | 是 |
length |
章节长度 | 是 |
startTime |
章节开始时间 | 是 |
章节对象:
id chapterObject =
[ADBMediaHeartbeat createChapterObjectWithName:[CHAPTER_NAME]
position:[POSITION]
length:[LENGTH]
startTime:[START_TIME]];
如果为章节添加了自定义元数据,请为该元数据创建上下文数据变量:
NSMutableDictionary *chapterDictionary = [[NSMutableDictionary alloc] init];
[chapterDictionary setObject:@"Sample segment type" forKey:@"segmentType"];
[chapterDictionary setObject:@"Sample segment name" forKey:@"segmentName"];
[chapterDictionary setObject:@"Sample segment info" forKey:@"segmentInfo"];
要开始跟踪章节播放,请在 ChapterStart
实例中调用 MediaHeartbeat
事件:
- (void)onChapterStart:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterStart
mediaObject:chapterObject
data:chapterDictionary];
}
当播放到达您通过自定义代码定义的章节结尾边界时,在 ChapterComplete
实例中调用 MediaHeartbeat
事件:
- (void)onChapterComplete:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterComplete
mediaObject:nil
data:nil];
}
如果由于用户选择跳过章节(例如,用户搜寻章节边界之外的内容)而使章节播放未能完成,请在 MediaHeartbeat 实例中调用 ChapterSkip
事件:
- (void)onChapterSkip:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterSkip
mediaObject:nil
data:nil];
}
如果存在任何其他章节,请重复执行步骤 1 至 5。