Android でのチャプターとセグメントの追跡

最終更新日: 2023-01-23
  • 作成対象:
  • User
    Admin
    Developer

以下の手順は、SDK 2.x を使用した実装についてのガイダンスです。

重要

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 を繰り返します。

このページ