以下の手順は、SDK 2.x を使用した実装についてのガイダンスです。
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 を繰り返します。