以下の手順は、2.x SDK に共通する実装のガイダンスです。
1.x バージョンの SDK を実装する場合は、1.x の開発ガイドをこちら(SDK のダウンロード)からダウンロードできます。
トラッキングの初期設定
いつユーザーが再生の意図をトリガーする(ユーザーが再生をクリックする、または自動再生がオンになる)かを識別し、MediaObject
インスタンスを作成します。
変数名 | 説明 | 必須 |
---|---|---|
name |
メディア名 | ○ |
mediaid |
メディアの一意の ID | ○ |
length |
メディアの長さ | ○ |
streamType |
ストリームタイプ(後述の StreamType 定数 を参照) | ○ |
mediaType |
メディアタイプ(後述のMediaType 定数 を参照) | ○ |
StreamType
定数:
定数名 | 説明 |
---|---|
VOD |
ビデオオンデマンドのストリームタイプ。 |
LIVE |
LIVE コンテンツのストリームタイプ。 |
LINEAR |
LINEAR コンテンツのストリームタイプ。 |
AOD |
オーディオオンデマンドのストリームタイプ。 |
AUDIOBOOK |
オーディオブックのストリームタイプ。 |
PODCAST |
ポッドキャストのストリームタイプ。 |
MediaType
定数:
定数名 | 説明 |
---|---|
Audio |
オーディオストリームのメディアタイプ。 |
Video |
ビデオストリームのメディアタイプ。 |
var mediaObject =
MediaHeartbeat.createMediaObject(<MEDIA_NAME>,
<MEDIA_ID,
<MEDIA_LENGTH>,
MediaHeartbeat.StreamType.VOD,
<MEDIA_TYPE>);
メタデータのアタッチ
オプションで、コンテキストデータ変数を使用して標準またはカスタムメタデータオブジェクトをトラッキングセッションにアタッチします。
標準メタデータ
メディアオブジェクトへの標準メタデータオブジェクトのアタッチはオプションです。
メディアメタデータキー API リファレンス - 標準メタデータキー - JavaScript
利用可能なメタデータの包括的なセットについては、オーディオおよびビデオパラメーターを参照してください。
カスタムメタデータ
カスタム変数の変数オブジェクトを作成し、このメディアのデータを設定します。次に例を示します。
/* Set custom context data */
var customVideoMetadata = {
isUserLoggedIn: "false",
tvStation: "Sample TV station",
programmer: "Sample programmer"
};
意図を追跡して再生を開始
メディアセッションの追跡を開始するには、メディアハートビートインスタンスの trackSessionStart
を呼び出します。
mediaHeartbeat.trackSessionStart(mediaObject, customVideoMetadata);
2 つ目の値は、手順 2 で作成した、カスタムのメディアメタデータオブジェクトの名前です。
trackSessionStart
では、再生の開始ではなく、ユーザーの再生の意図を追跡します。この API は、データ/メタデータを読み込み、開始時間の QoS 指標(trackSessionStart
と trackPlay
の間の時間)を見積もるために使用します。
カスタムメタデータを使用しない場合は、前述の iOS の例でコメントアウトされている行に示されているように、trackSessionStart
の data
引数に空のオブジェクトを送信します。
実際の再生開始を追跡
再生開始(メディアの最初のフレームが画面に表示)に関するイベントをメディアプレーヤーから識別し、trackPlay
を呼び出します。
mediaHeartbeat.trackPlay();
再生の完了を追跡
再生完了(ユーザーがコンテンツを最後まで視聴)に関するイベントをメディアプレーヤーから識別し、trackComplete
を呼び出します。
mediaHeartbeat.trackComplete();
セッションの終了を追跡
再生のアンロード/終了(ユーザーがメディアを閉じる、またはメディアが完了してアンロードされる)に関するイベントをメディアプレーヤーから識別し、trackSessionEnd
を呼び出します。
mediaHeartbeat.trackSessionEnd();
trackSessionEnd
は、トラッキングセッションの終わりをマークします。セッションが最後まで適切に視聴された場合(ユーザーがコンテンツを最後まで視聴)は、trackComplete
の前に trackSessionEnd
を呼び出すようにしてください。trackSessionEnd
の後は、他のすべての track*
API 呼び出しは無視されます(新しいトラッキングセッション用の trackSessionStart
を除く)。
考えられるすべての一時停止シナリオを追跡
一時停止に関するイベントをメディアプレーヤーから識別し、trackPause
を呼び出します。
mediaHeartbeat.trackPause();
一時停止のシナリオ
メディアプレーヤーが一時停止するあらゆるシナリオを識別して、trackPause
が適切に呼び出されるようにします。以下のシナリオでは、アプリケーションで trackPause()
を呼び出す必要があります。
一時停止からの再生および再開に関するイベントをプレーヤーから識別し、trackPlay
を呼び出します。
mediaHeartbeat.trackPlay();
これは、手順 4 で使用したのと同じイベントソースである可能性があります。再生が再開される際に、各 trackPause()
API 呼び出しが後続の trackPlay()
API 呼び出しと対になっていることを確認します。