サポート サポート問い合わせ先 | システムステータス システムステータス
ページ内容

    ドメイン制限メッセージング

    このトピックでは、ドメイン制限のためにビデオの再生が許可されていない場合に、適切なエラーメッセージを表示する方法を学習します。 デフォルトでは、 Brightcove Player ユーザーにビデオがドメイン制限されていることを通知しません。

    概要

    ドメインの制限によってビデオを閲覧できる場所を制限することは可能です。 ザ 設定 Player コンテンツ制限 ドキュメントはあなたの使い方を示しています Video Cloud ドメイン制限を適用します。 現在読んでいるドキュメントは、ユーザーにそのことを通知するコードを実装する方法を指示します player ドメイン制限を使用しています。

    デフォルトでは、 Brightcove Player 視聴しようとしている動画がドメイン内にあることをユーザーに通知しない playerとして指定することができます。 player 単に黒い画面を表示します。 コンソールを表示すると、次のようになります。

    ドメイン制限コンソールエラー

    これはあまり役に立ちませんが、 ネットワーク タブをクリックし、 お名前 あなたのビデオIDに対応する プレビュー タブをクリックすると、より明快なエラーが表示されます。

    ドメインメッセージコンソールのネットワークタブ

    このドキュメントでは、ドメイン制限されている動画を視聴しようとしていることをユーザーに知らせるための戦略を実装しています。

    Player カタログのエラーオブジェクト

    ユーザーフレンドリーなメッセージを作成するための鍵は、 error に含まれるオブジェクト Brightcove Player's catalog。 ドメイン制限エラーの例を、ブラウザのコンソールからのスクリーンショットに示します。 オブジェクトには data プロパティーには配列が含まれています。 配列には、カタログがビデオのロード中に最後に発生したエラーが保持されます。 この例では、配列の要素がドメイン制限の問題を報告しています。

    カタログエラーオブジェクト

    bc-catalog-errorを処理する

    正常時のエラー処理 ready() のセクション script ブロックによって問題が発生する可能性があります。 たとえば、 bc-catalog-error イベントは、 player 準備ができています。エラーをリッスンすると ready() エラーを処理することはできません。 コードに問題はないが、ブラウザに依存する可能性があるので、注意してください。 このため、このドキュメントのエラー処理コードでは、 one() イベントを処理するメソッド bc-catalog-error コードブロック内ではなく別のコードブロックで ready() の項目を検索します。

    HTML形式のメッセージ

    生成されるエラーの構造とその場所を理解したら、JavaScriptを使用してユーザーに説明的なエラーを表示できます。 基本的な実装手順は次のとおりです。

    • メッセージを表示するターゲット要素を作成します。
    • 必ず player 行動する準備ができています。
    • エラーが発生していないかどうかを確認してください。
    • はいの場合は、エラーがドメイン制限の問題であるかどうかを確認します。
    • はいの場合は、ユーザーにメッセージを表示します。

    次のコードは、これらの手順を実装しています。

    • 8行:HTML要素を挿入します。ここでは、テキストを挿入する段落を挿入します。 要素に id ターゲティングの目的で使用します。
    • ライン13: one() メソッドのイベントリスナーを追加する bc-catalog-error イベントは1回だけです。
    • ライン16: if エラーが発生したことを確認してください。
    • 行17:変数に特定のエラー情報を割り当てます Brightcove Player カタログのエラーオブジェクト。
    • ライン18: if 特定のエラー情報が存在し、エラーの種類がドメイン制限のものであることを確認するステートメント。
    • 行19:行12で作成されたHTML要素に適切なテキストメッセージを挿入します。
      <video-js id="myPlayerID"
        data-video-id="3495887198001"
        data-account="1507807800001"
        data-player="4c8eb732-ba76-485c-a906-407365721633"
        data-embed="default"
        class="video-js" controls></video-js>
    
        <p id="textTarget"></p>
    
      <script src="https://players.brightcove.net/1507807800001/4c8eb732-ba76-485c-a906-407365721633_default/index.min.js"></script>
    
      <script type="text/javascript">
        videojs.getPlayer('myPlayerID').one('bc-catalog-error', function(){
          var myPlayer = this,
            specificError;
          if (myPlayer.catalog.error !== undefined) {
            specificError = myPlayer.catalog.error.data[0];
            if (specificError !== undefined & specificError.error_subcode == "DOMAIN") {
              document.getElementById("textTarget").innerHTML = "The video you are trying to watch cannot be viewed as it is domain restricted.";
            };
          };
        });
    
        videojs.getPlayer('myPlayerID').ready(function() {
          var myPlayer = this;
          console.log('in ready');
        });
      </script>

    次のスクリーンショットは、下に表示されるメッセージを示しています player.

    以下のエラー player

    エラー経由のメッセージプラグイン

    にメッセージを表示させたい場合があります。 player ビデオがドメイン制限されている場合。 これは、エラープラグインを使用して行うことができます。 エラープラグインは自動的に playerなので、その操作を明示的に実行する必要はありません。 ここで説明する内容以外のエラープラグインの詳細については、 エラーメッセージプラグインを表示する の資料をご参照ください。

    • ライン43: one() メソッドのイベントリスナーを追加する bc-catalog-error イベントは1回だけです。
    • 46-53線: player's error() メソッドを定義し、JSONを引数として渡します。 errors 表示する情報 選択肢は -3 エラーコードは任意であり、唯一の指針は標準エラーコード(現在の1-5)を使用しないことです。
    • ライン57: error() メソッドを使用してカスタムエラー情報を表示します。 ドメイン制限エラーがいつ発生したかを判断するために使用されるロジックは、上記と同じです。 引数として渡されるオブジェクトは、表示するエラーメッセージを定義します。
      <script type="text/javascript">
        videojs.getPlayer('myPlayerID').one('bc-catalog-error', function(){
          var myPlayer = this,
            specificError;
          myPlayer.errors({
            'errors': {
              '-3': {
                'headline': 'The video you are trying to watch cannot be viewed because of domain restrictions.',
                'type': 'DOMAIN'
              }
            }
          });
          if (typeof(myPlayer.catalog.error) !== 'undefined') {
            specificError = myPlayer.catalog.error.data[0];
            if (specificError !== 'undefined' & specificError.error_subcode == "DOMAIN") {
              myPlayer.error({code:'-3'});
            };
          };
        });
    
        videojs.getPlayer('myPlayerID').ready(function() {
          var myPlayer = this;
        });
      </script>

    次のスクリーンショットは、定義されたエラーのエラープラグインの表示を示しています。

    定義されたエラー

    一般的なエラー表示

    上の2つのセクションでは、制限されたロケールから地理的に制限されたビデオを見るときに生成されるエラーを表示することに特に取り組んでいます。 いくつかのエラーは、ドメインの制限の詳細レベルを提供しません。 このタイプのエラーオブジェクトの例をここに示します。 注意してください データ フィールドは空ですが、ドメイン制限エラーではキーエラー情報が含まれていました。

    一般的なエラーオブジェクト

    次のコードは、 catalog.error 細部のレベルにかかわらず。 高レベルでは、コードは次の処理を実行します。

    • カタログエラーが発生したかどうかをチェックします。
    • エラーオブジェクト内に data フィールドには特定のエラー情報が含まれます。 そうでない場合は、一般的なエラーメッセージがHTMLに挿入されます。
    • 特定のエラー情報があり、ドメイン制限に関連している場合、適切なメッセージがHTMLに挿入されます。
    • 特定のエラー情報があり、ドメイン制限に関連していない場合、特定のエラーのメッセージがHTMLに挿入されます。
      <script type="text/javascript">
        videojs.getPlayer('myPlayerID').one('bc-catalog-error', function(){
          var myPlayer = this,
            specificError;
          if (myPlayer.catalog.error != undefined) {
            specificError = myPlayer.catalog.error.data[0];
            if (specificError == undefined) {
              document.getElementById("textTarget").innerHTML = "The following error has occurred: <strong>" + myPlayer.catalog.error.message + "</strong>";
            } else if (specificError.error_subcode == "DOMAIN") {
              document.getElementById("textTarget").innerHTML = "The video you are trying to watch cannot be viewed because of domain restrictions.";
            } else {
              document.getElementById("textTarget").innerHTML = "The following error has occurred: " + specificError.message;
            };
          };
        });
    
        videojs.getPlayer('myPlayerID').ready(function() {
          var myPlayer = this;
        });
      </script>

    次のスクリーンショットは、HTMLで表示される一般的なエラーメッセージを示しています。 もちろん、このドキュメントの前のセクションで示したように、エラープラグインを使用してメッセージを表示することもできます。

    以下の一般的なエラーメッセージの表示 player

    ページの最終更新日:28年2020月XNUMX日