AOQ Client SDK の接続ステートマシンと、対応する API 呼び出しについて説明します。
接続状態図
次の図は、AOQ Client SDK の接続状態遷移を示しています。
AOQ Client SDK 接続状態図
状態の説明
状態 | 列挙値 | 説明 |
|---|---|---|
接続中 | 1 |
|
接続済み | 2 | 接続が確立されました。音声、動画、データメッセージを正常に送受信できます。 |
失敗 | 3 | 接続エラー (認証失敗、タイムアウト、サーバー拒否など) が発生しました。SDK は自動的に「切断」に遷移します。 |
切断 | 0 | 初期状態、または意図的あるいは予期しない切断後の終端状態です。 |
状態遷移ルール
- アプリケーションが
connectを呼び出す →接続中に遷移します。 - 接続に成功 →
接続中から接続済みに遷移します。 - 接続に失敗 →
接続中から失敗に遷移し、その後 SDK は自動的に切断に遷移します。 - 接続に失敗 →
接続済みから失敗に遷移し、その後 SDK は自動的に切断に遷移します。 - アプリケーションが
disconnectを呼び出す →接続済みから切断に遷移します。
失敗 は一時的な状態です。SDK が onConnectionStatusChange(failed) をトリガーした後、自動的に 切断 に遷移します。アプリケーション層で手動で disconnect を呼び出す必要はありません。
connect API
connect を呼び出して、AI サービスへの接続を開始します。AppServer の allocate エンドポイントから返された認証情報を渡します。
メソッドシグネチャ
Android:
0 は呼び出しに成功したことを示します (接続は非同期で確立されます)。< 0 は失敗を示します。
動作
- 呼び出し直後に
onConnectionStatusChange(connecting)コールバックをトリガーします。 - 接続に成功すると、
onConnectionStatusChange(connected)コールバックをトリガーします。 - 接続に失敗すると、
onConnectionStatusChange(failed)コールバックをトリガーします。
disconnect API
disconnect を呼び出して、AI サービスへの接続を意図的に閉じます。
メソッドシグネチャ
Android:
0 は成功を示します。< 0 は失敗を示します。
動作
- 呼び出し後に
onConnectionStatusChange(disconnected)コールバックをトリガーします。 - エンジンは自動的に解放されません。再度
connectを呼び出して再接続できます。 - 未接続時に
disconnectを呼び出しても安全であり、0 を返します。