Android でのコア再生の追跡 track-core-playback-on-android
このドキュメントでは、バージョン 2.x の SDK でのトラッキングについて説明しています。
-
トラッキングの初期設定
いつユーザーが再生の意図をトリガーする(ユーザーが再生をクリックする、または自動再生がオンになる)かを識別し、
MediaObject
インスタンスを作成します。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>);
-
メタデータのアタッチ
オプションで、コンテキストデータ変数を使用して標準またはカスタムメタデータオブジェクトをトラッキングセッションにアタッチします。
-
標準メタデータ
note note NOTE メディアオブジェクトへの標準メタデータオブジェクトのアタッチはオプションです。 - メディアメタデータキー API リファレンス - 標準メタデータキー - Android
- 利用可なビデオメタデータの包括的なセットについては、オーディオおよびビデオパラメーターを参照してください。
-
カスタムメタデータ
カスタム変数のディクショナリを作成し、このメディアのデータを設定します。次に例を示します。
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");
-
-
意図を追跡して再生を開始
メディアセッションの追跡を開始するには、メディアハートビートインスタンスの
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 番目の引数に空のオブジェクトを送信します。 -
実際の再生開始を追跡
メディアの再生開始(メディアの最初のフレームが画面に表示)に関するイベントをメディアプレーヤーから識別し、
trackPlay
を呼び出します。code language-java // Video is rendered on the screen) and call trackPlay. public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
-
再生の完了を追跡
メディア再生完了(ユーザーがコンテンツを最後まで視聴)に関するイベントをメディアプレーヤーから識別し、
trackComplete
を呼び出します。code language-java public void onVideoComplete(Observable observable, Object data) { _heartbeat.trackComplete(); }
-
セッションの終了を追跡
メディア再生のアンロード/終了(ユーザーがメディアを閉じる、またはメディアが完了してアンロードされる)に関するイベントをメディアプレーヤーから識別し、
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
を除く)。 -
考えられるすべての一時停止シナリオを追跡
メディアの一時停止に関するイベントをメディアプレーヤーから識別し、
trackPause
を呼び出します。code language-java public void onVideoPause(Observable observable, Object data) { _heartbeat.trackPause(); }
一時停止のシナリオ
ビデオプレーヤーが一時停止するあらゆるシナリオを識別して、
trackPause
が適切に呼び出されるようにします。以下のシナリオでは、アプリでtrackPause()
() を呼び出す必要があります。- アプリ内でユーザーが明示的に一時停止をクリックする。
- プレーヤー自体が一時停止状態になる。
- (モバイルアプリケーション)- ユーザーがアプリケーションをバックグラウンドに移行した場合でも、アプリケーションのセッションを開いたままにしておきたい。
- (モバイルアプリケーション)- 何らかのシステムの割り込みが生じ、アプリケーションがバックグラウンドに移行する。例:ユーザーに電話がかかってきた場合や、別のアプリケーションのポップアップが表示された場合でも、アプリケーションのセッションを終了せず、ユーザーが中断した場所からメディアを再開できるようにしたい。
-
一時停止からのメディア再生およびメディア再開に関するイベントをメディアプレーヤーから識別し、
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 に含まれている、追跡の完全な例を示すサンプルプレーヤー