Brightcove Player でのクロスデバイス再開
概要
クロスデバイス再開(Cross-Device Resume)は、視聴者があるデバイスで動画を視聴し始め、後で別のデバイスまたは同じデバイスで続きから再生できるようにする機能です。
例えば、ユーザーがモバイル デバイスで動画を視聴し始めた場合、後で Web ブラウザ上のプレーヤーで同じ動画を続きから再生できます。視聴位置が保持されるため、見逃すことはありません。
この機能に慣れていない場合は、概要:クロスデバイス再開 を参照してください。
要件
クロスデバイス再開には以下の要件が適用されます:
- Brightcove Player バージョン 6.41.0 以上(最新バージョンの使用を推奨)
セットアップ
この機能は Brightcove Video Cloud アカウントをお持ちであれば誰でも利用できます。
利用を開始するには次を行ってください:
- 弊社営業に連絡し、クロスデバイス再開をアカウントで有効化してもらう。
- 使用する動画が Dynamic Delivery 用に取り込み済みであることを確認する。
クロスデバイス再開の実装
クロスデバイス再開を実装するには、以下の手順に従います:
- Brightcove Analytics で ユーザー識別子を設定 する
- 視聴者の再生位置を取得 する
- Brightcove プレーヤーで 再生を再開 する
視聴者 ID の送信 - Brightcove プレーヤー
要件
視聴者 ID トラッキングには次が必要です:
- Brightcove Player v7.18.0 以上
まず、ユーザー識別子を設定し、そのユーザーの視聴データを保存する必要があります。
Brightcove プレーヤー
Brightcove プレーヤーを使用する場合は、以下の手順に従います:
-
視聴者データは自動的に Brightcove Analytics に送信されますが、ユーザー識別子を設定する必要があります。そのためには
user()メソッドを使用します。例:myPlayer.bcAnalytics.client.user('viewer id');Brightcove プレーヤーをホストするサイトでは、認証ゲートウェイや ID 管理ソリューションを使用して視聴者を識別できます。この視聴者 ID を Brightcove Analytics に渡すユーザー識別子として使用します。
-
プレーヤーでソースが設定される前に、必ず視聴者 ID を設定する必要があります。これはプレーヤー初期化直後に呼び出す必要があります。
<video-js id="myPlayerID" data-account="1752604059001" data-player="hyQW6GByl" data-embed="default" controls="" data-video-id="6156696074001" data-playlist-id="" data-application-id="" width="640" height="360"></video-js> <script src="https://players.brightcove.net/1752604059001/hyQW6GByl_default/index.min.js"></script> <script> videojs.getPlayer('myPlayerID').ready(function() { var myPlayer = this; // Brightcove Analytics 用の視聴者 ID を設定 myPlayer.bcAnalytics.client.user('viewer id'); }); </script> -
user()メソッドを使用した場合、その値はハッシュ化されず、以降のすべてのビーコンに平文で送信されます。この場合、
player_initイベントにはuserフィールドは含まれませんが、すべてのvideo_*イベントには含まれます。
カスタム プレーヤー
Brightcove プレーヤーを使用しないカスタム実装を行う場合は、Data Collection API リクエストに user パラメーターを追加します。詳細は Overview: Data Collection API v2 を参照してください。
プレーヤーをホストするサイトで認証ゲートウェイや ID 管理ソリューションを使用して視聴者を識別でき、その視聴者 ID を Brightcove Analytics に渡す識別子として使用します。
Brightcove に渡されたこの user パラメーターは、次のセクションで XDR API から再生位置を取得する際に使用できます。
視聴者の再生位置を取得する
次に、Cross-Device Resume(XDR)API から視聴者の再生位置を取得します。
視聴者の再生位置を取得するためには、REST API リクエストを送信できるサーバーサイド アプリケーションが必要です。
詳細については、XDR API から再生位置を取得する ドキュメントを参照してください。
再生の再開
XDR API から視聴者の再生位置を取得したら、その位置から再生を再開できます。
-
前のセクションで取得した視聴者の再生位置を使用して、
currentTime()メソッドで再生位置(プレーヤーヘッド)を設定します。以下はその例です:
// 使用する特定のイベントは、状況に応じて調整が必要な場合があります player.on('loadstart', function() { // initialPlayhead 変数には、パブリッシャー側の // カスタム実装から取得した値が入ります。 player.currentTime(viewer playhead position); }); - サーバーサイド プロキシを呼び出し、XDR API からプレーヤーヘッドを取得する Web プレーヤーのサンプルについては、GitHub の Cross-Device Resume サンプル を参照してください。