デバッグ — Web

このトピックには以下のセクションが含まれます:

コンソールへのログ記録

アプリケーションを開発する際には、以下のコードをアプリケーションのどこかに配置してください。そうすることで、コンソールへのロギング出力が増え、プログラムをトレースしやすくなり、舞台裏で何が起こっているかを理解できるようになります。

  OT.setLogLevel(OT.DEBUG);

を呼び出してコンソールにメッセージを記録することもできます。 OT.log() メソッドを使用する:

OT.log("my session ID: " + session.sessionId);

(コール OT.setLogLevel(OT.DEBUG) または OT.setLogLevel(OT.LOG) を呼び出す前に OT.log().)

1台のマシンで複数のクライアント接続をテストする

同じブラウザページ内で公開したストリームを購読することはできません。ただし、別のタブ(またはウィンドウ)でページを開き、別のタブ(またはウィンドウ)で公開されているストリームを購読することはできます。

完了ハンドラの使用

非同期に完了する多くのメソッドでは、最後に渡すパラメーターは完了ハンドラー関数です。この関数は、メソッドが完了するか失敗したときに呼び出されます。失敗した場合、関数にはエラー・オブジェクトがパラメータとして渡されます。

たとえば、次のコードでは、コンプリートハンドラを引数として渡して、Session.connect() メソッドを呼び出しています:

  var session = OT.initSession(apiKey, session);
  session.connect(token, function (error) {
    if (error) {
      if (error.name === "OT_NOT_CONNECTED") {
        alert("You are not connected to the internet. Check your network connection.");
      }
      console.log("Failed to connect: ", error.message);
    } else {
      console.log("Connected");
    }
  });

詳しくは 例外処理.

例外イベントのリスニング

すべての例外イベントを検出するには、次のようにイベントリスナーを追加します。 exception OT オブジェクトによって発信されるイベント。ただし、特定メソッドの完了ハンドラ内でエラーに対応する方が簡単です。詳しくは 例外処理.

// Listen for exceptions
OT.on("exception", function(event) {
    console.log(event.message);
}

インスペクターとのトラブルシューティング・セッション

インスペクター OpenTokセッションに関する事後診断情報を提供します。セッションIDまたは報告された問題のIDを入力してください( 次のセクション) を Inspector に取り込み、ストリームレベルおよびユーザーレベルの生データを表示することで、エラー、障害、品質上の問題を特定するのに役立ちます。

詳細は インスペクターのドキュメント.

OpenTok Playground での問題の再現

遊び場 OpenTok.js SDK を使用して OpenTok プラットフォームにアクセスし、デプロイ時に発生した問題を再現するのに役立ちます。

詳細は 遊び場のドキュメント.

問題の報告

を呼び出すことができます。 OT.reportIssue() メソッドを使用すると、アプリに問題が発生したときにプログラムで報告することができます。このメソッドではissue IDを提供します。 インスペクター またはVonage APIサポートチームと問題を議論するとき。

OT.reportIssue(function(error, issueId) {
  if (error) {
    console.log(error);
  } else {
    console.log(issueId);
    // You may want to use XMLHttpRequest to report this issue ID to a server
    // that can store it in a database for later reference.
  }
});

について OT.reportIssue() メソッドは1つのパラメータ、完了ハンドラ関数を取る。 OT.reportIssue() 成功するか失敗するか。完了ハンドラ関数には2つのパラメータがあります。最初のパラメータは、 reportIssue() メソッドが失敗するか(たとえば、クライアントがネットワークに接続されていない場合)、あるいは null への呼び出しが reportIssue() メソッドが成功した場合です。呼び出しが成功すると、2番目のパラメータに報告されたissue ID(一意の文字列)が設定されます。