Show Menu
TOPICS×

Roku でのコア再生の追跡

このドキュメントでは、バージョン 2.x の SDK での追跡について説明しています。1.x バージョンの SDK を実装する場合は、1.x の開発ガイドをこちら( SDK のダウンロード )からダウンロードできます。
  1. 追跡の初期設定
    いつユーザーが再生の意図をトリガーする(ユーザーが再生をクリックする、または自動再生がオンになる)かを識別し、
    MediaObject
    インスタンスを作成します。
    MediaObject
    リファレンス:
    変数名
    説明
    必須
    name
    ビデオ名
    mediaid
    ビデオの一意の識別子
    length
    ビデオの長さ
    streamType
    ストリームタイプ(後述の
    StreamType 定数
    を参照)
    mediaType
    メディアタイプ(後述の​
    MediaType 定数
    を参照)
    StreamType
    定数:
    定数名
    説明  
    MEDIA_STREAM_TYPE_VOD
    ビデオオンデマンドのストリームタイプ。
    MEDIA_STREAM_TYPE_LIVE
    LIVE コンテンツのストリームタイプ。
    MEDIA_STREAM_TYPE_LINEAR
    LINEAR コンテンツのストリームタイプ。
    MEDIA_STREAM_TYPE_AOD
    オーディオオンデマンドのストリームタイプ。
    MEDIA_STREAM_TYPE_AUDIOBOOK
    オーディオブックのストリームタイプ。
    MEDIA_STREAM_TYPE_PODCAST
    ポッドキャストのストリームタイプ。
    MediaType
    定数:
    定数名
    説明
    MEDIA_STREAM_TYPE_AUDIO
    オーディオストリームのメディアタイプ。
    MEDIA_STREAM_TYPE_VIDEO
    ビデオストリームのメディアタイプ。
    VOD コンテンツを含むビデオのメディア情報オブジェクトを作成します。
    mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_VOD, ADBMobile().MEDIA_TYPE_VIDEO )
    または
    mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_VOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_VIDEO
    AOD コンテンツを含むビデオのメディア情報オブジェクトを作成します。
    mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_AOD, ADBMobile().MEDIA_TYPE_AUDIO )
    または
    mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_AOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_AUDIO
  2. メタデータのアタッチ
    オプションで、コンテキストデータ変数を使用して標準またはカスタムメタデータオブジェクトをトラッキングセッションにアタッチします。
    • 標準メタデータ
      メディアオブジェクトへの標準メタデータオブジェクトのアタッチはオプションです。
    • カスタムメタデータ
      カスタム変数の変数オブジェクトを作成し、このメディアのデータを設定します。例:
      /* Set custom context data */ var customVideoMetadata = { isUserLoggedIn: "false", tvStation: "Sample TV station", programmer: "Sample programmer" };
  3. 意図を追跡して再生を開始
    メディアセッションの追跡を開始するには、メディアハートビートインスタンスの
    trackSessionStart
    を呼び出します。
    mediaHeartbeat.trackSessionStart(mediaObject, customVideoMetadata);
    2 つ目の値は、手順 2 で作成した、カスタムのメディアメタデータオブジェクトの名前です。
    trackSessionStart
    では、再生の開始ではなく、ユーザーの再生の意図を追跡します。この API は、データ/メタデータを読み込み、開始時間の QoS 指標(
    trackSessionStart
    trackPlay
    の間の時間)を見積もるために使用します。
    カスタムメタデータを使用しない場合は、前述の iOS の例でコメントアウトされている行に示されているように、
    trackSessionStart
    data
    引数に空のオブジェクトを送信します。
  4. 実際の再生開始を追跡
    再生開始(メディアの最初のフレームが画面に表示)に関するイベントをメディアプレーヤーから識別し、
    trackPlay
    を呼び出します。
    mediaHeartbeat.trackPlay();
  5. 再生の完了を追跡
    再生完了(ユーザーがコンテンツを最後まで視聴)に関するイベントをメディアプレーヤーから識別し、
    trackComplete
    を呼び出します。
    mediaHeartbeat.trackComplete();
  6. セッションの終了を追跡
    再生のアンロード/終了(ユーザーがメディアを閉じる、またはメディアが完了してアンロードされる)に関するイベントをメディアプレーヤーから識別し、
    trackSessionEnd
    を呼び出します。
    mediaHeartbeat.trackSessionEnd();
    trackSessionEnd
    は、トラッキングセッションの終わりをマークします。セッションが最後まで適切に視聴された場合(ユーザーがコンテンツを最後まで視聴)は、
    trackComplete
    の前に
    trackSessionEnd
    を呼び出すようにしてください。
    trackSessionEnd
    の後は、他のすべての
    track*
    API 呼び出しは無視されます(新しいトラッキングセッション用の
    trackSessionStart
    を除く)。メディアの読み込みをトラッキングし、現在のセッションをアクティブに設定するメディア再生トラッキングメソッド:
    ‘ Create a media info object mediaInfo = adb_media_init_mediainfo() mediaInfo.id = <MEDIA_ID> mediaInfo.playhead = "0" mediaInfo.length = "600"
  7. ビデオメタデータのアタッチ
    オプションで、コンテキストデータ変数を使用して標準またはカスタムのビデオメタデータオブジェクトをビデオトラッキングセッションにアタッチします。
    • 標準のビデオメタデータ
      メディアオブジェクトへの標準のビデオメタデータオブジェクトのアタッチはオプションです。
    • カスタムメタデータ
      カスタム変数の変数オブジェクトを作成し、このビデオのデータを設定します。例:
      mediaContextData = {} mediaContextData["cmk1"] = "cmv1" mediaContextData["cmk2"] = "cmv2"
  8. 意図を追跡して再生を開始
    メディアセッションの追跡を開始するには、メディアハートビートインスタンスの
    trackSessionStart
    を呼び出します。
    ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)
    2 つ目の値は、手順 2 で作成した、カスタムのビデオメタデータオブジェクトの名前です。
    trackSessionStart
    では、再生の開始ではなく、ユーザーの再生の意図を追跡します。この API は、ビデオのデータ/メタデータを読み込み、開始時間の QoS 指標(
    trackSessionStart
    trackPlay
    の間の時間)を見積もるために使用します。
    カスタムのビデオメタデータを使用しない場合は、前述の iOS の例でコメントアウトされている行に示されているように、
    trackSessionStart
    data
    引数に空のオブジェクトを送信します。
  9. 実際の再生開始を追跡
    ビデオの再生開始(ビデオの最初のフレームが画面に表示)に関するイベントをビデオプレーヤーから識別し、
    trackPlay
    () を呼び出します。
    ADBMobile().mediaTrackPlay()
  10. 再生の完了を追跡
    ビデオの再生完了(ユーザーがコンテンツを最後まで視聴)に関するイベントをビデオプレーヤーから識別し、
    trackComplete
    () を呼び出します。
    ADBMobile().mediaTrackComplete()
  11. セッションの終了を追跡
    ビデオ再生のアンロード/終了(ユーザーがビデオを閉じる、またはビデオの再生が完了してアンロードされる)に関するイベントをビデオプレーヤーから識別し、
    trackSessionEnd
    () を呼び出します。
    ADBMobile().mediaTrackSessionEnd()
    trackSessionEnd
    は、ビデオトラッキングセッションの終わりをマークします。セッションが最後まで適切に視聴された場合(ユーザーがコンテンツを最後まで視聴)は、
    trackComplete
    の前に
    trackSessionEnd
    を呼び出すようにしてください。
    trackSessionEnd
    の後は、他のすべての
    track*
    API 呼び出しは無視されます(新しいビデオトラッキングセッション用の
    trackSessionStart
    を除く)。
  12. 考えられるすべての一時停止シナリオを追跡
    ビデオの一時停止に関するイベントをビデオプレーヤーから識別し、
    trackPause
    を呼び出します。
    ADBMobile().mediaTrackPause()
    一時停止のシナリオ
    ビデオプレーヤーが一時停止するあらゆるシナリオを識別して、
    trackPause
    が適切に呼び出されるようにします。以下のシナリオでは、アプリで
    trackPause()
    () を呼び出す必要があります。
    • アプリ内でユーザーが明示的に一時停止をクリックする。
    • プレーヤー自体が一時停止状態になる。
    • モバイルアプリ
      )- ユーザーがアプリケーションをバックグラウンドに移行した場合でも、アプリのセッションを開いたままにしておきたい。
    • モバイルアプリ
      )- 何らかのシステムの割り込みが生じ、アプリケーションがバックグラウンドに移行する。例:ユーザーに電話がかかってきた場合や、別のアプリケーションのポップアップが表示された場合でも、アプリケーションのセッションを終了せず、ユーザーが中断した場所からビデオを再開できるようにしたい。
  13. 一時停止からのビデオ再生およびビデオ再開に関するイベントをプレーヤーから識別し、
    trackPlay
    を呼び出します。
    ADBMobile().mediaTrackPlay()
    これは、手順 4 で使用したのと同じイベントソースである可能性があります。ビデオ再生が再開される際に、各
    trackPause()
    API 呼び出しが後続の
    trackPlay()
    API 呼び出しと対になっていることを確認します。
  • 追跡シナリオ: 広告のない VOD 再生
  • Roku SDK に含まれている、追跡の完全な例を示すサンプルプレーヤー