エラー処理 - Amazon IVS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

エラー処理

このセクションでは、エラー状態の概要、Web Broadcast SDK がエラー状態をアプリケーションに報告する方法、およびエラー発生時にアプリケーションが実行すべき処理について説明します。エラーには次の 4 つのカテゴリがあります。

try { stage = new Stage(token, strategy); } catch (e) { // 1) stage instantiation errors } try { await stage.join(); } catch (e) { // 2) stage join errors } stage.on(StageEvents.STAGE_PARTICIPANT_PUBLISH_STATE_CHANGED, (participantInfo, state) => { if (state === StageParticipantPublishState.ERRORED) { // 3) stage publish errors } }); stage.on(StageEvents.STAGE_PARTICIPANT_SUBSCRIBE_STATE_CHANGED, (participantInfo, state) => { if (state === StageParticipantSubscribeState.ERRORED) { // 4) stage subscribe errors } });

Stage インスタンス化エラー

Stage インスタンス化では、トークンがリモートで検証されませんが、クライアント側で検証可能な基本的なトークンの問題がないかチェックされます。その結果、SDK がエラーをスローする場合があります。

不正な形式の参加者トークン

これは、ステージトークンの形式が不正な場合に発生します。Stage をインスタンス化すると、SDK は「Error parsing Stage Token」というエラーメッセージをスローします。

アクション: 有効なトークンを作成し、インスタンス化を再試行してください。

Stage 参加エラー

これは、初めてステージに参加しようとしたときに発生する場合があるエラーです。

Stage が削除されました

これは、削除された (トークンに関連付けられた) ステージに参加したときに発生します。join SDK メソッドは、「10 秒InitialConnectTimedOut 後」というエラーメッセージをスローします。

アクション: 新しいステージで有効なトークンを作成し、参加を再試行してください。

期限切れの参加者トークン

これはトークンの有効期限が切れた場合に発生します。join SDK メソッドが「Token expired and is no longer valid」というエラーメッセージをスローします。

アクション: 新しいトークンを作成し、参加を再試行してください。

無効または取り消された参加者トークン

これは、トークンが有効でないか、取り消された/切断された場合に発生します。join SDK メソッドは、「10 秒InitialConnectTimedOut 後」というエラーメッセージをスローします。

アクション: 新しいトークンを作成し、参加を再試行してください。

切断されたトークン

これは、ステージトークンの形式が不正でないにもかかわらず、Stages サーバーによって拒否された場合に発生します。join SDK メソッドは、「10 秒InitialConnectTimedOut 後」というエラーメッセージをスローします。

アクション: 有効なトークンを作成し、参加を再試行してください。

初期参加におけるネットワークエラー

これは、SDK が Stages サーバーにアクセスしたにもかかわらず、接続を確立できなかった場合に発生します。join SDK メソッドは、「10 秒InitialConnectTimedOut 後」というエラーメッセージをスローします。

アクション: デバイスの接続が回復するのを待ってから、参加を再試行してください。

既に参加している場合のネットワークエラー

デバイスのネットワーク接続が切断されると、SDK と Stages サーバーとの接続が失われる可能性があります。SDK がバックエンドサービスにアクセスできなくなるため、コンソールにエラーが表示される場合があります。https://broadcast.stats.live-video.net への POST は失敗します。

公開中/サブスクライブ中の場合は、公開/サブスクライブの試行に関連するエラーがコンソールに表示されます。

SDK は、エクスポネンシャルバックオフストラテジーを使用して内部で再接続を試みます。

アクション: デバイスの接続が回復するまでお待ちください。公開中またはサブスクライブ中の場合は、ストラテジーを更新してメディアストリームを確実に再公開できるようにします。

公開エラーとサブスクライブエラー

公開エラー: 公開状態

SDK は公開が失敗したときに ERRORED を報告します。これは、ネットワークの状態が原因で発生する可能性がありますが、ステージがパブリッシャーのキャパシティに達した場合にも発生することがあります。

stage.on(StageEvents.STAGE_PARTICIPANT_PUBLISH_STATE_CHANGED, (participantInfo, state) => { if (state === StageParticipantPublishState.ERRORED) { // Handle } });

アクション: ストラテジーを更新して、メディアストリームの再公開を試みてください。

サブスクライブエラー

SDK はサブスクライブが失敗したときに ERRORED を報告します。これは、ネットワークの状態が原因で発生する可能性がありますが、ステージがサブスクライバーのキャパシティに達した場合にも発生することがあります。

stage.on(StageEvents.STAGE_PARTICIPANT_SUBSCRIBE_STATE_CHANGED, (participantInfo, state) => { if (state === StageParticipantSubscribeState.ERRORED) { // 4) stage subscribe errors } });

アクション: ストラテジーを更新して、新しいサブスクライブを試してください。