Android でのコア再生の追跡 track-core-playback-on-android

このドキュメントでは、バージョン 2.x の SDK でのトラッキングについて説明しています。

IMPORTANT
1.x バージョンの SDK を実装する場合は、Android 向けの 1.x の開発ガイドをこちら(SDK のダウンロード)からダウンロードできます。
  1. トラッキングの初期設定

    いつユーザーが再生の意図をトリガーする(ユーザーが再生をクリックする、または自動再生がオンになる)かを識別し、MediaObject インスタンスを作成します。

    createMediaObject API

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center 23-align-center
    変数名 説明 必須
    name メディア名
    mediaId メディアの一意の ID
    length メディアの長さ
    streamType ストリームタイプ(後述の StreamType 定数 を参照)
    mediaType メディアタイプ(後述の​ MediaType 定数 を参照)

    StreamType定数:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
    定数名 説明
    VOD ビデオオンデマンドのストリームタイプ。
    LIVE Live コンテンツのストリームタイプ。
    LINEAR Linear コンテンツのストリームタイプ。
    AOD オーディオオンデマンドのストリームタイプ。
    AUDIOBOOK オーディオブックのストリームタイプ。
    PODCAST ポッドキャストのストリームタイプ。

    MediaType定数:

    table 0-row-2 1-row-2 2-row-2
    定数名 説明
    Audio オーディオストリームのメディアタイプ。
    Video ビデオストリームのメディアタイプ。
    code language-none
    MediaHeartbeat.createMediaObject(<MEDIA_NAME>,
      <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
    
  2. メタデータのアタッチ

    オプションで、コンテキストデータ変数を使用して標準またはカスタムメタデータオブジェクトをトラッキングセッションにアタッチします。

    • 標準メタデータ

      Android での標準メタデータの実装

      note note
      NOTE
      メディアオブジェクトへの標準メタデータオブジェクトのアタッチはオプションです。
    • カスタムメタデータ

      カスタム変数のディクショナリを作成し、このメディアのデータを設定します。次に例を示します。

      code language-java
      HashMap<String, String> mediaMetadata =
        new HashMap<String, String>();
      mediaMetadata.put("isUserLoggedIn", "false");
      mediaMetadata.put("tvStation", "Sample TV Station");
      mediaMetadata.put("programmer", "Sample programmer");
      
  3. 意図を追跡して再生を開始

    メディアセッションの追跡を開始するには、メディアハートビートインスタンスの trackSessionStart を呼び出します。次に例を示します。

    code language-java
    public void onVideoLoad(Observable observable, Object data) {
        _heartbeat.trackSessionStart(mediaInfo, mediaMetadata);
    }
    
    note tip
    TIP
    2 つ目の値は、手順 2 で作成した、カスタムのメディアメタデータオブジェクトの名前です。
    note important
    IMPORTANT
    trackSessionStart では、再生の開始ではなく、ユーザーの再生の意図を追跡します。この API は、メディアのデータ/メタデータを読み込み、開始時間の QoS 指標(trackSessionStart () と trackPlay () の間の時間)を見積もるために使用します。
    note note
    NOTE
    カスタムのメディアメタデータを使用しない場合は、trackSessionStart の 2 番目の引数に空のオブジェクトを送信します。
  4. 実際の再生開始を追跡

    メディアの再生開始(メディアの最初のフレームが画面に表示)に関するイベントをメディアプレーヤーから識別し、trackPlay を呼び出します。

    code language-java
    // Video is rendered on the screen) and call trackPlay.
    public void onVideoPlay(Observable observable, Object data) {
        _heartbeat.trackPlay();
    }
    
  5. 再生の完了を追跡

    メディア再生完了(ユーザーがコンテンツを最後まで視聴)に関するイベントをメディアプレーヤーから識別し、trackComplete を呼び出します。

    code language-java
    public void onVideoComplete(Observable observable, Object data) {
        _heartbeat.trackComplete();
    }
    
  6. セッションの終了を追跡

    メディア再生のアンロード/終了(ユーザーがメディアを閉じる、またはメディアが完了してアンロードされる)に関するイベントをメディアプレーヤーから識別し、trackSessionEnd を呼び出します。

    code language-java
    // Closes the media and/or the media completed and unloaded,
    // and call trackSessionEnd().
    public void onMainVideoUnload(Observable observable, Object data) {
        _heartbeat.trackSessionEnd();
    }
    
    note important
    IMPORTANT
    trackSessionEnd は、メディアトラッキングセッションの終わりをマークします。セッションが最後まで適切に視聴された場合(ユーザーがコンテンツを最後まで視聴)は、trackComplete の前に trackSessionEnd を呼び出すようにしてください。trackSessionEnd の後は、他のすべての track* API 呼び出しは無視されます(新しいメディアトラッキングセッション用の trackSessionStart を除く)。
  7. 考えられるすべての一時停止シナリオを追跡

    メディアの一時停止に関するイベントをメディアプレーヤーから識別し、trackPause を呼び出します。

    code language-java
    public void onVideoPause(Observable observable, Object data) {
        _heartbeat.trackPause();
    }
    

    一時停止のシナリオ

    ビデオプレーヤーが一時停止するあらゆるシナリオを識別して、trackPause が適切に呼び出されるようにします。以下のシナリオでは、アプリで trackPause() () を呼び出す必要があります。

    • アプリ内でユーザーが明示的に一時停止をクリックする。
    • プレーヤー自体が一時停止状態になる。
    • モバイルアプリケーション)- ユーザーがアプリケーションをバックグラウンドに移行した場合でも、アプリケーションのセッションを開いたままにしておきたい。
    • モバイルアプリケーション)- 何らかのシステムの割り込みが生じ、アプリケーションがバックグラウンドに移行する。例:ユーザーに電話がかかってきた場合や、別のアプリケーションのポップアップが表示された場合でも、アプリケーションのセッションを終了せず、ユーザーが中断した場所からメディアを再開できるようにしたい。
  8. 一時停止からのメディア再生およびメディア再開に関するイベントをメディアプレーヤーから識別し、trackPlay を呼び出します。

    code language-java
    // trackPlay()
    public void onVideoPlay(Observable observable, Object data) {
        _heartbeat.trackPlay();
    }
    
    note tip
    TIP
    これは、手順 4 で使用したのと同じイベントソースである可能性があります。メディア再生が再開される際に、各 trackPause() API 呼び出しが後続の trackPlay() API 呼び出しと対になっていることを確認します。

コア再生の追跡に関する追加情報については、以下を参照してください。

  • トラッキングのシナリオ:広告のない VOD 再生
  • Android SDK に含まれている、追跡の完全な例を示すサンプルプレーヤー
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb