はじめに
アナリティクスデータは、Native Player SDK で提供されるプレーヤーを含む Brightcove Player によって自動的に送信されます。Video Cloud の動画配信に Brightcove Player を使用していない場合は、使用しているプレーヤーに計測コードを実装し、Data Collector へデータを送信する必要があります。
Data Collection API v2 が現在の標準です。v1 バージョンは非推奨となっています。v1 を実装している場合は、以下のv1 からの変更セクションをご参照ください。
この概要および API リファレンスに加えて、サンプル実装もご参照ください。
Analytics Data Collection API は、リアルタイム分析イベント用のエンドポイントです。イベントデータは、以下のような HTTP リクエストで送信される一連のパラメーターを介して Brightcove に送信されます。
https://metrics.brightcove.com/v2/tracker?event=video_view&domain=videocloud&account=123&video=789
これらのパラメーターは、イベント発生時のシステム状態に関する事実を表します。上記の例は、アカウント 123 の動画 789 に対して video_view イベントが発生したこと(言い換えれば、ユーザーがアカウント 123 の動画 789 の視聴を開始したこと)を示しています。現在トラッキングされている分析イベントの一覧については、以下を参照してください。
ディメンション
ディメンションとは、イベント発生時のシステム状態を表す定性的な情報です。たとえば、リクエストが次のような場合:
https://metrics.brightcove.com/v2/tracker
?event=video_view&session=581136_2018-07-03T18:34:46.214Z
&domain=videocloud&account=123
&video=789
動画 ID(789)、アカウント ID(123)、およびリクエスト自体から取得されるデバイスや位置情報は、いずれも video_view イベントに関連するディメンションです。Analytics システムは、このリクエストが行われた時点でこれらのディメンションを伴って video_view イベントが発生したことを記録します。
event および domain パラメーター
event、domain、session は必須パラメーターです。event はイベントの種類を示し、domain はイベントのネームスペースを示すパラメーターで、値は常に videocloud です。
追加のパラメーター
Analytics システムがイベントを正しく分析できるよう、イベントには特定のパラメーターを含める必要があります。
レスポンスタイプ
Data Collection API リクエストへのレスポンスには、HTTP レスポンスコードと、内容を人間が理解できる形式で示したメッセージが含まれます。
| HTTP ステータスコード | 説明 | 例 |
|---|---|---|
200 |
リクエストが Data Collector によって正常に受信され、保存されました。 | (1x1 ピクセルの透明な GIF 画像を返します) |
400 |
クライアントから送信されたリクエストに必須パラメーター(domain、account、event のいずれか)が含まれていません。(ドメイン固有のパラメーターが欠けている場合は、このステータスは返されません。) |
"Invalid 'event' parameter" |
50x |
サーバー側に問題があることを示すエラーコードです。イベントが Analytics システムに記録されている場合とされていない場合があります。 | "Server-side failure, please retry." |
VOD イベントとライブイベント
ライブイベント
Data Collection API がイベントをライブとして分類するには、以下の条件をすべて満たす必要があります。
- リクエストに
video_durationパラメーターが含まれていないこと。 - リクエストに
accountパラメーターが含まれていること。 - リクエストに
videoパラメーターが含まれていること。 -
イベントタイプが次のいずれかであること:
play_requestvideo_impressionvideo_viewvideo_engagementalive_ss_ad_start
- アカウントが Brightcove サポートによってライブ動画ストリーミング用に有効化されていること。
VOD
- VOD のリクエストには
video_durationを必ず含めてください。ライブストリームのリクエストにはvideo_durationを送信しないでください。 video_durationパラメーターを含むリクエストは VOD として分類されます。
最小限のデータ
セッション中に再生されるすべての動画について、最低でも session ID、video_view イベント、および video_duration を送信する必要があります。video_view イベントは、プレロール広告がある場合はその完了後に送信してください。
session
session はセッション識別子です。プレーヤーが含まれるページまたはアプリのビューが 1 回表示されている間、セッションは継続します。値はセッション中を通して一定でなければならず、すべてのイベントで送信する必要があります。値はグローバル一意識別子(GUID)にできるだけ近いものを使用してください。衝突が発生した場合、2 つのセッションを区別できなければ、無効として破棄されることがあります。
JavaScript で GUID を生成する方法はいくつかあります。例としてこの GitHub リポジトリを参照してください。なお、サードパーティのスクリプトは Brightcove のサポート対象外です。
パフォーマンス(再生率・エンゲージメントスコア)に必要な最小データ
イベント
video_impressionplay_requestvideo_viewvideo_engagement
属性(すべてのイベント)
accountvideo
追加の属性(video_engagementイベントのみ)
VOD
rangevideo_duration
ライブ
video_seconds_viewed
HTTP ヘッダー
User-Agent- デバイスレポートに必須
ベストプラクティス
正しいデータが Data Collector に送信されることを確認するため、データ収集スクリプトを本番環境に展開する前にテストすることをお勧めします。推奨するテスト方法:
- プレーヤー用のデータ収集スクリプトを実装します。
- 制御された環境で少なくとも 1 日間テストします。
- Analytics モジュールまたは Analytics API を使用してアナリティクスデータを確認し、収集されたデータが期待通りであることを検証してください。
リクエストの送信 - CORS 問題の回避
ジャンクデータ
一般的に、Data Collection API に送信されたデータは、Analytics システムによってそのまま正確な情報として記録されます。イベントに不適切または誤った情報が含まれていると、Analytics システムはそのデータを誤って解釈します。
たとえば、動画 ID として誤ってタイムスタンプを送信してしまうと、アナリティクスデータは全体の集計結果に影響を与える形で歪められます。
URI エンコード
Data Collection API に送信する文字列にスペースや特殊文字が含まれる場合は、リクエストが正常に処理されるよう URI エンコードが必要です。JavaScript からリクエストを送信する場合は、encodeURI() メソッドでリクエスト文字列をエンコードできます。例:
urlStr += "&video=" + currentVideo.id + "&video_name=" + encodeURI(currentVideo.video_name);
イベント
以下に示すイベントは、Analytics システムによって処理されます。
player_load-
定義
エンドユーザーがプレーヤーセッションを開始したときに送信されます。Analytics セッションの開始を示すイベントで、ほかのどのイベントよりも先に送信する必要があります。
例
https://metrics.brightcove.com/v2/tracker ?event=player_load &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %2Furl%3Fsa%3D-t%26rct%3Dj%26q%3D%26esrc%3Ds%26source %253A-%252F%252Fsupport.brightcove.com%252F%26ei%3D OdxWZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796 error-
定義
再生体験を妨げる致命的なエラーが発生したときに送信されます。プレーヤーが再生を継続できない問題に遭遇したことを示します。
例
https://metrics.brightcove.com/v2/tracker ?event=error &error_code=MEDIA_ERR_SRC_NOT_SUPPORTED &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com %26usgWZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796 catalog_request-
定義
Video Cloud Playback API へのリクエストが発行されたときに送信されます。プレーヤーが動画メタデータの取得を Brightcove のカタログ API に要求したことを示します。
例
https://metrics.brightcove.com/v2/tracker ?event=catalog_request &session=581136_2018-07-03T18:34:46.214Z &catalog_url=https%3A%2F%2Fedge.api.brightcove.com%2Fplayback &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com WZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud&account=1749339200 &time=1377191644796 catalog_response-
定義
直前の
catalog_requestに対するレスポンスを受信したときに送信されます。プレーヤーが Playback API から動画メタデータの応答を受け取り、リクエスト・レスポンスのペアが完了したことを示します。例
https://metrics.brightcove.com/v2/tracker ?event=catalog_response &session=581136_2018-07-03T18:34:46. &catalog_url=https%3A%2F%2Fedge.api.brightcove.com%2Fp2F23823423800 &response_time_ms=243 &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com 53A-%252F%252Fsupport.brightcove.com%252F%2Tzn-oCgCQ AFQjCNJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796 play_request-
定義
視聴者が再生ボタンをクリックして手動で再生を要求したとき、または自動再生メカニズムによって再生が要求されたときに送信されます。視聴者が動画再生を開始しようとしたアクションを表すイベントで、Player V7 ではセッションごと・メディアストリームごとに 1 回だけ送信されます。このイベントは必ず
video_impressionイベントとvideo_viewイベントの間に発生します。例
https://metrics.brightcove.com/v2/tracker ?event=play_request &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252F%2 dJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796 ad_mode_begin-
定義
再生プラットフォームから広告エージェントに制御が引き渡されたときに送信されます。広告の再生が開始され、通常のコンテンツ再生が一時的に中断されることを示します。
例
https://metrics.brightcove.com/v2/tracker ?event=ad_mode_begin &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252 %26usg%3DAFQjCNEtLod%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796 ad_mode_complete-
定義
広告エージェントから再生プラットフォームに制御が戻されたときに送信されます。広告の再生が終了し、通常のコンテンツ再生に復帰したことを示します。
例
https://metrics.brightcove.com/v2/tracker ?event=ad_mode_complete &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252F%2 WZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796 video_impression-
定義
プレーヤーに追加された動画のメタデータの読み込みが完了し、自動再生またはユーザー操作によって
video_viewイベントを発生させられる状態になったときに送信されます。プレーヤーが動画の再生開始要求を受け付けられる準備が整ったことを示します。例
https://metrics.brightcove.com/v2/tracker ?event=video_impression &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A%2F%2Fwww.current-times.com%2F &time=1377191644801 &source=http%3A%2F%2Fwww.google.com %252-F%26ei%3DoEYWUtCgEIXq9ATznoCgCQ %26usg%3DAFQjCNEtLod-Odx6bvm%3Dbv.5115-6542%2Cd.dmg &video=2621468623001 &video_name=Democratic-Rivals%20Target%20Bill &domain=videocloud &account=1749339200 video_view-
定義
動画の再生が実際に開始されたときに送信されます(ページ読み込み後の自動再生、またはユーザー操作によるもの)。視聴者が動画の視聴を開始したことを示すイベントで、視聴者が再生を停止して再開したり再視聴したりした場合でも、1 回の視聴セッション中に記録される
video_viewイベントは 1 つのみです。例
https://metrics.brightcove.com/v2/tracker ?event=video_view &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A%2F%2Fwww.current-times.com%2F &video=2621468623001 &video_name=Debate-2 &video_duration=189 &time=1377191666432 &source=http%3A%2F%2Fwww.google.com%2Furl% %252F%26ei%3DoEYWUtCgEIXq9ATznoCgCQ%26us-g %3DAFQjCNEtv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 video_engagement-
定義
動画再生中に視聴の進行状況を追跡するため、再生中に定期的に送信されます。視聴者がどの区間をどれだけ視聴したかを示すとともに、レンディションの選択、ビットレートの計測、バッファリング情報などの追加情報も含みます。エンゲージメント期間中に視聴が行われなかった場合でも、原則として定期的に送信する必要があります。ただし視聴者がプレーヤーのコントロール操作や、プレーヤーをバックグラウンドに移行させるなどのプレーヤーイベントによって意図的に再生を一時停止した場合は送信を停止します。再生がプレーヤー操作やフォアグラウンドへの復帰などによって意図的に再開されたときに、
video_engagementの送信も再開してください。これは、ユーザーが再生を待たされる原因となるリバッファリングの発生時間や回数をトラッキングできるようにすることを目的とした変更です。20 秒を超える範囲を表すイベントは Analytics システムによって破棄されます。例
https://metrics.brightcove.com/v2/tracker ?event=video_engagement &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A%2F%2Fwww.current-times.com%2F &video=2621468623001 &video_name=Debate-2 &video_duration=189 &time=1377191676589 &range=0..9 &source=http%3A%2F%2Fwww.google.com %2Furl%3Fsa%3Dt-%26rct%3Dj%26q%3D%26esrc%3Ds %26source%3Dweb%26cd%3D1%26ved%3D0CDYQFjAA %26url%3Dhttp%253A%252F%252Fwww.current-times.com %252F%26ei%3DoEYWUtC-gEIXq9ATznoCgCQ %26usg%3DAFQjCNEtLodOdxWZSGdJpL7WJ.51156542%2Cd.dmg &domain=videocloud &account=1749339200
すべてのイベントのパラメーター
各イベントのパラメーターには、イベント発生時のシステム状態に関する情報をできる限り具体的に含めてください。このセクションではすべてのイベントで送信できるパラメーターについて説明し、続くセクションでは特定のイベントごとのパラメーターを示します。
| フィールド | タイプ | 説明 |
|---|---|---|
account |
文字列 |
アカウント ID |
applicationオプション |
文字列 |
プレーヤーの使用目的を識別するカスタム文字列。 |
domain |
文字列 |
常に 許容値: |
session |
文字列 | グローバルに一意であることが推奨されるセッション ID。詳細は上記の最小限のデータセクションを参照してください。 |
device_osオプション |
文字列 |
User-Agent が信頼できない場合に、イベントを発生させたデバイスの OS を明示的に指定するためのオーバーライドです( 許容値: |
device_os_versionオプション |
文字列 |
デバイスで使用されている OS のバージョン。指定されていない場合は、トラッキングリクエストの User-Agent 文字列を解析して算出されます。 |
device_typeオプション |
文字列 |
User-Agent が信頼できない場合に、イベントを発生させたデバイスの種類を明示的に指定するためのオーバーライドです( 許容値: |
event |
文字列 |
イベントタイプ 許容値: |
destinationオプション |
文字列 |
イベントが発生した URI。 |
playerオプション |
文字列 |
プレーヤーの ID を設定します。 |
player_nameオプション |
文字列 |
プレーヤーの名前を設定します。 |
sourceオプション |
文字列 |
エンドユーザーを |
timeオプション |
数値 |
イベントのタイムスタンプ(エポック時間、ミリ秒)。 |
countryオプション |
文字列 |
ISO-3166(alpha 2)国コード(IP アドレスから地理情報を検出できない場合のオーバーライド)。通常は指定しません。 |
country_nameオプション |
文字列 |
人が読める国名(IP アドレスから地理情報を検出できない場合のオーバーライド)。通常は指定しません。 |
regionオプション |
文字列 |
ISO-3166(alpha 2)地域コード(IP アドレスから地理情報を検出できない場合のオーバーライド)。通常は指定しません。 |
region_nameオプション |
文字列 |
人が読める地域名(IP アドレスから地理情報を検出できない場合のオーバーライド)。通常は指定しません。 |
cityオプション |
文字列 |
都市名。通常は指定しません。 |
userオプション |
文字列 |
ユニークユーザー識別子。指定されていないか空の場合、Video Cloud は |
user パラメーター
- プレーヤー/クライアントアプリケーションがユニークな視聴者をトラッキングしたい場合は、ユーザーごとに固有の ID を
userパラメーターとして Data Collector に送信してください。 userが指定されていないか空の場合、Source IP address + the User-Agent Stringをユニーク識別子として使用するフォールバック方式が採用されます。userパラメーターの値そのものはログやデータベースに保存されず、ハッシュ(SHA-256)のみが保存されます。- Data Collector が Cookie を設定することはありません。
ユニークユーザー
Brightcove Player のプラグイン機能を使用して、ユニークな動画視聴者のデータをアナリティクスレポートに追加できます。これを行うには、アナリティクス機能の settings オブジェクトにユニーク識別子を追加します。
もちろん、ユニークユーザー ID を取得する方法はアプリケーションごとに異なりますが、ここでは例として、https://exampledomain.com/users/912389123 のようにユニークなユーザーデータを含むログイン URL が取得済みであることを前提としています。このユニークな URL がプラグインに渡されます。
以下のプラグインコードは、次の処理を行います。
- 標準的な構文を使用して、プラグイン名
uniqueUserForAnalyticsPluginの Brightcove Player プラグインを作成します。このプラグインはoptionsオブジェクトを受け取り、プラグインに渡されるデータが含まれます。 myPlayer変数にはプレーヤーへの参照を代入し、その他に 2 つの変数を作成します。userPath変数には、optionsオブジェクト経由でプラグインに渡されたパスを代入します。uniqueViewer変数には、userPathを解析した結果(ユーザー ID の数字部分のみ)を代入します。- Analytics プラグインの
settingsオブジェクトにuserプロパティを追加します。
videojs.registerPlugin('uniqueUserForAnalyticsPlugin', function(options) {
var myPlayer = this,
userPath = '',
uniqueViewer = '';
//Assign uniqueViewer a value according to your app and business rules
//In this example, parsing the path passed to the plugin in the options object
userPath = options.path;
uniqueViewer = userPath.substring( userPath.lastIndexOf('/') + 1 );
//Assign a user variable to Analytic's settings object
myPlayer.bcAnalytics.client.user(USER) = uniqueViewer;
});
このコードは、お使いのアプリケーションロジックに合わせて修正し、インターネットからアクセス可能な URL に保存してください。
Studio のプラグインセクションから、図のようにプレーヤーにプラグインを読み込んでください。
以下の JSON の代わりに、ユーザーデータを含む文字列をプラグインに渡します。もちろん、ユニークユーザー ID を抽出できるよう、プラグインコードもそれに合わせて更新する必要があります。
{
"path": "http://exampledomain.com/users/912389123"
}
プラグイン開発の詳細については、ステップバイステップ:プラグイン開発を参照してください。
device_type、device_os、device_os_version、device_manufacturer、browser_type パラメーター
デフォルトでは、Analytics システムは User-Agent ヘッダーからデバイスタイプおよび OS の情報を検出します。device_type と device_os の両方が送信された場合、User-Agent ヘッダーからの情報は無視され、device_type と device_os が優先されます。ほとんどの場合、デバイス・OS・ブラウザの情報を送信する必要はありません。このオーバーライドは、User-Agent が信頼できない、または利用できない場合にのみ使用してください。
デバイスパラメーターのオーバーライドにリストにない値が含まれている場合、Analytics システムは other として記録します。
地理情報パラメーター
デフォルトでは、Analytics システムはリモート IP アドレスから地理情報を検出します。country、country_name、region、region_name、city、dma パラメーターを送信することで、この動作をオーバーライドできます。ほとんどの場合、これらのパラメーターは指定不要です。このオーバーライドは、リモート IP アドレスが信頼できない、または利用できない場合にのみ使用してください。
オーバーライドにリストにない値が含まれている場合、Analytics システムは ZZ または unknown として記録します。
destination および source パラメーター
destination と source パラメーターは、それぞれイベントが発生した URI(destination)と、ユーザーをそこへ誘導した URI(source)を表します。
source パラメーターは、トラフィックソースを判定するために使用されます。source が指定されていない場合、Analytics システムはイベントを直接トラフィックによるものとして扱います。
destination パラメーターは、トラフィックの宛先(動画が視聴されている場所)を判定するために使用されます。URI にホスト情報(スキームとホスト名を含む部分)が含まれていない場合、API は destination_domain を記録せず、destination_path には URI のパスが記録されます。
Web 再生時には、動画が再生されているページのアドレスバーの URL が destination となり、リファラー(top.document.referrer)が source となります。
たとえば、Brightcove サポートサイトで「ライブストリーミング Wirecast」を検索し、検索結果に表示された動画を視聴した場合は以下のようになります。
| パラメーター | 値 |
|---|---|
source |
|
destination |
|
URL が存在しない場合(たとえばネイティブ再生など)でも、destination と source の両方には、それぞれ動画の再生場所と、視聴者がそこへ到達した経路を識別できる有効な URI を指定する必要があります。
destination が有効な URI であると仮定すると:
<scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]
ex. https://www.example.com/foo/bar/baz
---
-----------/----------/
| |
authority path
---
/
---
----------------------/
| |
scheme hierarchical part
Analytics システムは以下のように処理します。
URI にホスト情報(スキームとホスト名を含む部分)が含まれている場合、API レスポンスはそのホスト情報を destination_domain、URI 内のパスを destination_path として記録します。URI にホスト情報が含まれていない場合は、destination_domain は記録されず、URI のパスが destination_path として記録されます。階層部分を持たない destination(スキームのみなど)は、スキームを持たない値と同様に無効と見なされます。
特定イベントのパラメーター
error イベントのパラメーター
error イベントでは、以下のパラメーターを送信してください。
| フィールド | タイプ | 説明 |
|---|---|---|
error_codeオプション |
数値 |
このイベントに関連付けられた、プラットフォーム固有のエラーコード。 |
catalog_request イベントのパラメーター
catalog_request イベントでは、以下のパラメーターを送信してください。
| フィールド | タイプ | 説明 |
|---|---|---|
catalog_urlオプション |
文字列 |
この |
catalog_response イベントのパラメーター
catalog_response イベントでは、以下のパラメーターを送信してください。
| フィールド | タイプ | 説明 |
|---|---|---|
catalog_urlオプション |
文字列 |
この |
response_time_msオプション |
数値 |
|
video_impression イベントのパラメーター
video_impression イベントでは、以下のパラメーターを送信してください。
| フィールド | タイプ | 説明 |
|---|---|---|
videoオプション |
文字列 |
動画ID |
video_nameオプション |
文字列 |
動画の名前 |
video_view イベントのパラメーター
video_view イベントでは、以下のパラメーターを送信してください。
| フィールド | タイプ | 説明 |
|---|---|---|
videoオプション |
文字列 |
動画ID |
video_nameオプション |
文字列 |
動画の名前 |
start_time_msオプション |
文字列 |
再生開始から最初のフレームが描画されるまでの時間(ミリ秒)。この値は再生環境によって異なります。たとえば、プレロール広告が設定されていない場合は、 |
video_engagement イベントのパラメーター
video_engagement イベントでは、以下のパラメーターを送信してください。
| フィールド | タイプ | 説明 |
|---|---|---|
videoオプション |
文字列 |
動画ID |
video_nameオプション |
文字列 |
動画の名前 |
rangeオプション |
文字列 |
|
rendition_urlオプション |
文字列 |
直近に選択されたレンディションの URL。たとえば HLS ストリームの場合は、直近に選択されたバリアントの URL となります。 |
rendition_indicated_bpsオプション |
文字列 |
直近に選択されたレンディションの公称ビットレート(ビット/秒)。 |
rendition_mime_typeオプション |
文字列 |
直近に選択されたレンディションの MIME タイプ。 |
rendition_heightオプション |
文字列 |
動画レンディションのエンコード高(ピクセル)。 |
rendition_widthオプション |
文字列 |
動画レンディションのエンコード幅(ピクセル)。 |
rebuffering_secondsオプション |
文字列 |
エンゲージメント期間中に、意図しない遅延によりユーザーが動画の再生を待たされた秒数。 |
rebuffering_countオプション |
文字列 |
該当するエンゲージメント期間中に、リバッファリングが原因で再生が停止した回数。 |
forward_buffer_secondsオプション |
文字列 |
現在フォワードバッファに蓄積されている動画の秒数。 |
measured_bpsオプション |
文字列 |
直近にダウンロードされたセグメントのビット数を、そのセグメントのダウンロードに要した時間で割った値(ビット/秒)。 |
media_bytes_transferredオプション |
数値 |
動画再生中にプレーヤーがダウンロードしたコンテンツの総バイト数。 |
media_seconds_loadedオプション |
数値 |
プレーヤーがダウンロード済みで再生可能な状態にあるメディアコンテンツの合計時間(秒)。 |
player_widthオプション |
文字列 |
エンゲージメント範囲の終了時点におけるプレーヤーのピクセル幅。 |
player_heightオプション |
文字列 |
エンゲージメント範囲の終了時点におけるプレーヤーのピクセル高。 |
dropped_framesオプション |
文字列 |
このエンゲージメント期間中にドロップされた動画フレーム数。 |
video_durationオプション |
数値 |
動画の長さ(秒)。 |
video_seconds_viewedオプション |
数値 |
前回の |
video_engagement イベントは、動画の再生中にエンゲージメントをトラッキングするためのイベントで、再生中に何度も送信されます(プレーヤーの計測コードは、再生が中断されない限り 10 秒ごとにこのイベントを送信します)。現在、20 秒を超える範囲を表すイベントは Analytics システムによって破棄されるため、これより短い間隔で送信する必要があります。
video_engagement イベントには 2 種類の形式があります(簡略化のため他のパラメーターは省略しています)。
| 例 | 意味 |
|---|---|
|
長さ 75 秒の動画 123 の 0 〜 9 秒が再生されました(合計 10 秒視聴)。 |
event=video_engagement&video=123&video_seconds_viewed=10 |
動画 123 が 10 秒視聴されました。 |
いずれの形式でも視聴秒数はトラッキングできますが、video_duration と range を含む形式の方が、追加のエンゲージメント指標を算出するために必要な情報も含まれているため、Analytics システムへの video_engagement イベント送信方法としては推奨される形式です。ライブストリームや、再生中に動画のタイムラインが継続的に変化するなど信頼できない場合は、video_seconds_viewed のみが利用可能なデータとなります。VOD の場合は、duration が利用できない場合を除き、video_engagement イベントに video_duration と range を含めてください。
| パラメーター | 派生エンゲージメント指標(API) |
|---|---|
video_duration、range |
video_seconds_viewed、video_percent_viewed、engagement_score、エンゲージメントカーブデータ |
video_seconds_viewed |
video_seconds_viewed |
3 つのパラメーター(video_duration、range、video_seconds_viewed)がすべて video_engagement イベントとともに送信された場合、Analytics システムは video_duration と range からエンゲージメント指標を算出します。
QoE のフィールドとイベント
QoE 指標のイベントには、以下のパラメータを送信できます。Video Cloud Studio で QoE のテーブルと指標を表示する方法の詳細については、Quality of Experience (QoE) Analytics のドキュメントを参照してください。
| プレーヤーイベントフィールド | プレーヤーイベント値 | QoE テーブル | QoE 指標 |
|---|---|---|---|
event |
"error" |
エラー率 | エラーが発生したセッションの数 |
event |
"error" |
エラー率 | エラー率 |
event |
"play_request" |
エラー率 | 再生リクエストごとのエラー率 |
event |
"video_view" |
動画開始時間 | 動画ビューごとの動画開始までの平均時間 |
event |
"video_view" |
動画開始時間 | 視聴数 |
event |
"play_request" |
動画開始時間 | Player V7 では、視聴者が再生ボタンをクリックして手動で、または自動再生メカニズムによって自動的に再生を要求するアクションを表します。Player 6 以前では、一時停止からの再開や再再生の回数を数えます。 |
event |
video_engagement |
停止率 | 視聴時間 1 時間あたりの平均停止回数 |
rebuffering_count |
>0 |
停止率 | 視聴時間 1 時間あたりの平均停止回数 |
event |
video_engagement |
アップスケール時間 | 動画エンゲージメント時間 1 時間あたりにアップスケーリングに費やされた平均時間 |
rendition_height |
アップスケール時間 | 動画エンゲージメント時間 1 時間あたりにアップスケーリングに費やされた平均時間 | |
player_height |
アップスケール時間 | 動画エンゲージメント時間 1 時間あたりにアップスケーリングに費やされた平均時間 | |
rendition_width |
アップスケール時間 | 動画エンゲージメント時間 1 時間あたりにアップスケーリングに費やされた平均時間 | |
player_width |
アップスケール時間 | 動画エンゲージメント時間 1 時間あたりにアップスケーリングに費やされた平均時間 | |
rebuffering_seconds |
サマリー | 視聴時間 1 時間あたりの平均再バッファリング秒数 | |
rendition_height |
サマリー | 再生された動画の解像度 |
V2 の変更点
このセクションでは、v1 から v2 への Data Collector の変更点を、v1 を利用しているユーザー向けにまとめます。
tracker のベース URL
http(s)://metrics.brightcove.com/v2
すべてのイベントでサポートされる追加フィールド
device_os_version:デバイスで使用されている OS のバージョン。指定されていない場合は、トラッキングリクエストの User-Agent 文字列を解析して算出されます。
platform_version:指定されたプラットフォームの新しいリリースがイベント送信に使用されていることを示すために使用します。
V2 の新しいイベント
catalog_request:Video Cloud のカタログ API へのリクエストが発行されたときに送信されます。なお、このイベントは内部利用を目的としており、Analytics モジュールや Analytics API では公開されません。
- catalog_url:この
catalog_requestイベントに関連付けられたリクエスト先 URL。このイベントは内部利用を目的としており、Analytics モジュールや Analytics API では公開されません。
catalog_response:catalog_request へのレスポンスを受け取ったときに送信されます。このイベントは内部利用を目的としており、Analytics モジュールや Analytics API では公開されません。
- catalog_url:この
catalog_responseの元となったcatalog_requestイベントに関連付けられたリクエスト先 URL。このイベントは内部利用を目的としており、Analytics モジュールや Analytics API では公開されません。 - response_time_ms:
catalog_requestイベントとcatalog_responseイベントの間の時間(ミリ秒)。このイベントは内部利用を目的としており、Analytics モジュールや Analytics API では公開されません。
play_request:Player V7 では、メディアストリームごとに 1 セッションにつき play_request を 1 回のみ送信します。play_request は、視聴者が再生ボタンをクリックして手動で、または自動再生メカニズムによって自動的に再生を要求するアクションを表します。このイベントは常に video_impression イベントと video_view イベントの間に発生します。
ad_mode_begin:[ad_start の置き換え] 再生プラットフォームから広告エージェントに制御が引き渡されたときに送信されます。
ad_mode_complete:[ad_end の置き換え] 広告エージェントから再生プラットフォームに制御が戻されたときに送信されます。
error:再生体験を妨げる致命的なエラーが発生したときに送信されます。
- error_code:イベントに関連付けられたプラットフォーム固有のエラーコード。
V2 で更新されたイベント
video_view:新しいレイテンシ計測項目が追加されました。
- load_time_ms:動画のデータロード開始から、動画が再生可能になるまでの時間(ミリ秒)。
- start_time_ms:再生開始から最初のフレームが描画されるまでの時間(ミリ秒)。この値は再生環境によって異なります。たとえばプレロール広告が設定されていない場合は、
play_requestイベントとvideo_viewイベントの間の時間が該当します。プレロール広告がある場合は、ad_mode_beginからad_mode_completeまでの時間はこの値に含めないでください。
video_engagement:レンディションの選択、ビットレートの計測、バッファリング情報などの追加情報を含むようになりました。また、エンゲージメント期間中に視聴が行われなかった場合でも定期的に送信する必要があります。この変更は、ユーザーが再生を待たされる原因となるリバッファリングの発生時間や回数をトラッキングできるようにすることを目的としています。
- range:
rangeパラメーターはオプションになりました。エンゲージメント期間中に視聴アクティビティがなかったこと(たとえばリバッファリングのみが発生した場合など)を示すために、rangeを省略できます。 - rendition_url:直近に選択されたレンディションの URL。たとえば HLS ストリームの場合は、直近に選択されたバリアントの URL となります。
- rendition_indicated_bps:直近に選択されたレンディションの公称ビットレート(ビット/秒)。
- rendition_mime_type:直近に選択されたレンディションの MIME タイプ。
- rendition_height:動画レンディションのエンコード高(ピクセル)。
- rendition_width:動画レンディションのエンコード幅(ピクセル)。
- rebuffering_seconds:エンゲージメント期間中に、意図しない遅延によりユーザーが動画の再生を待たされた秒数。
- rebuffering_count:該当するエンゲージメント期間中に、リバッファリングが原因で再生が停止した回数。
- forward_buffer_seconds:現在フォワードバッファに蓄積されている動画の秒数。
- measured_bps:直近にダウンロードされたセグメントのビット数を、そのセグメントのダウンロードに要した時間で割った値(ビット/秒)。
- player_width:エンゲージメント範囲の終了時点におけるプレーヤーのピクセル幅。
- player_height:エンゲージメント範囲の終了時点におけるプレーヤーのピクセル高。
- dropped_frames:このエンゲージメント期間中にドロップされた動画フレーム数。