JavaScript 3.x を使用したコア再生の追跡 track-core-playback-on-javascript
このドキュメントでは、バージョン 3.x の SDK でのトラッキングについて説明しています。
-
トラッキングの初期設定
いつユーザーが再生の意図をトリガーする(ユーザーが再生をクリックする、または自動再生がオンになる)かを識別し、
MediaObjectインスタンスを作成します。table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 変数名 タイプ 説明 namestring メディア名を示す、空白以外の文字列。 idstring 一意のメディア識別子を示す、空白以外の文字列。 lengthnumber メディアの長さを秒単位で示す正の数。長さが不明な場合は 0 を使用します。 streamTypestring mediaTypeメディアのタイプ(オーディオまたはビデオ)。 StreamType定数:table 0-row-2 1-row-2 2-row-2 定数名 説明 VODビデオオンデマンドのストリームタイプ。 AODオーディオオンデマンドのストリームタイプ。 MediaType定数:table 0-row-2 1-row-2 2-row-2 定数名 説明 Audioオーディオストリームのメディアタイプ。 Videoビデオストリームのメディアタイプ。 code language-none var mediaObject = ADB.Media.createMediaObject(<MEDIA_NAME>, <MEDIA_ID, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>); -
メタデータのアタッチ
オプションで、コンテキストデータ変数を使用して標準またはカスタムメタデータをトラッキングセッションにアタッチします。
-
標準メタデータ
note note NOTE 標準メタデータのアタッチは任意です。 -
メディアメタデータキー API リファレンス - 標準メタデータキー - JavaScript
利用可能なメタデータの包括的なセットについては、オーディオおよびビデオパラメーターを参照してください。
-
-
カスタムメタデータ
カスタム変数の変数オブジェクトを作成し、このメディアのデータを設定します。次に例を示します。
code language-js /* Set context data */ var contextData = {}; //Standard metadata contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode"; contextData[ADB.Media.VideoMetadataKeys] = "Sample Show"; //Custom metadata contextData["isUserLoggedIn"] = "false"; contextData["tvStation"] = "Sample TV Station";
-
-
意図を追跡して再生を開始
メディアセッションの追跡を開始するには、メディアハートビートインスタンスの
trackSessionStartを呼び出します。code language-js var mediaObject = ADB.Media.createMediaObject("video-name", "video-id", 60.0, ADB.Media.StreamType.VOD, ADB.Media.MediaType.Video); var contextData = {}; //Standard metadata contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode"; contextData[ADB.Media.VideoMetadataKeys] = "Sample Show"; //Custom metadata contextData["isUserLoggedIn"] = "false"; contextData["tvStation"] = "Sample TV Station"; tracker.trackSessionStart(mediaObject, contextData);note important IMPORTANT trackSessionStartでは、再生の開始ではなく、ユーザーの再生の意図を追跡します。この API は、データ/メタデータを読み込み、開始時間の QoS 指標(trackSessionStartとtrackPlayの間の時間)を見積もるために使用します。note note NOTE contextData を使用しない場合は、 dataのtrackSessionStart引数に空のオブジェクトを送信します。 -
実際の再生開始を追跡
再生開始(メディアの最初のフレームが画面に表示)に関するイベントをメディアプレーヤーから識別し、
trackPlayを呼び出します。code language-js tracker.trackPlay(); -
再生ヘッド値を更新
メディアの再生ヘッドが変更された場合は、
mediaUpdatePlayheadAPI を呼び出してSDKに通知します。
ビデオオンデマンド(VOD)の場合、値はメディア項目の開始時からの秒数で指定されます。
ライブストリーミングでは、プレーヤーがコンテンツのデュレーションに関する情報を提供しない場合、その日の午前 0 時(UTC)からの秒数を指定できます。code language-none tracker.updatePlayhead(position)note note NOTE tracker.updatePlayheadAPI を呼び出す際は、次の点を考慮してください。- プログレスマーカーを使用する場合、コンテンツのデュレーションが必要です。また、再生ヘッドはメディアアイテムの開始時からの(0 から始まる)秒数で更新する必要があります。
- Media SDK を使用する場合は、
tracker.updatePlayheadAPI を 1 秒に 1 回以上呼び出す必要があります。
-
再生の完了を追跡
再生完了(ユーザーがコンテンツを最後まで視聴)に関するイベントをメディアプレーヤーから識別し、
trackCompleteを呼び出します。code language-js tracker.trackComplete(); -
セッションの終了を追跡
再生のアンロード/終了(ユーザーがメディアを閉じる、またはメディアが完了してアンロードされる)に関するイベントをメディアプレーヤーから識別し、
trackSessionEndを呼び出します。code language-js tracker.trackSessionEnd();note important IMPORTANT trackSessionEndは、トラッキングセッションの終わりをマークします。セッションが最後まで適切に視聴された場合(ユーザーがコンテンツを最後まで視聴)は、trackCompleteの前にtrackSessionEndを呼び出すようにしてください。trackSessionEndの後は、他のすべてのtrack*API 呼び出しは無視されます(新しいトラッキングセッション用のtrackSessionStartを除く)。 -
考えられるすべての一時停止シナリオを追跡
一時停止に関するイベントをメディアプレーヤーから識別し、
trackPauseを呼び出します。code language-js tracker.trackPause();一時停止のシナリオ
メディアプレーヤーが一時停止するあらゆるシナリオを識別して、
trackPauseが適切に呼び出されるようにします。以下のシナリオでは、アプリケーションでtrackPause()を呼び出す必要があります。- アプリ内でユーザーが明示的に一時停止をクリックする。
- プレーヤー自体が一時停止状態になる。
- (モバイルアプリケーション)- ユーザーがアプリケーションをバックグラウンドに移行した場合でも、アプリケーションのセッションを開いたままにしておきたい。
- (モバイルアプリケーション)- 何らかのシステムの割り込みが生じ、アプリケーションがバックグラウンドに移行する。例:ユーザーに電話がかかってきた場合や、別のアプリケーションのポップアップが表示された場合でも、アプリケーションのセッションを終了せず、ユーザーが中断した場所からメディアを再開できるようにしたい。
-
一時停止からの再生および再開に関するイベントをプレーヤーから識別し、
trackPlayを呼び出します。code language-js tracker.trackPlay();note tip TIP これは、手順 4 で使用したのと同じイベントソースである可能性があります。再生が再開される際に、各 trackPause()API 呼び出しが後続のtrackPlay()API 呼び出しと対になっていることを確認します。
- トラッキングのシナリオ:広告のない VOD 再生
- JavaScript SDK に含まれている、追跡の完全な例を示すサンプルプレーヤー。