通話を再接続する
このガイドでは、Vonageクライアントアプリケーションで通話に再接続する方法を説明します。始める前に、お使いのアプリケーションにSDKが追加されていることを確認してください。アンドロイド, iOS, JS)で、次のことができる。 作る または 受け取る のコール。
自動再接続(Android & iOS)
Android と iOS では、Client SDK はデフォルトで、ネットワーク状況が悪化すると自動的に通話の再接続を試みます。この動作をオフにするには autoReconnectMedia Client SDK を初期化するときに false に設定します。自動再接続プロセス中に、更新を取得できます。呼び出しは再接続状態に遷移し、再接続状態または切断状態に遷移します。Client SDKには、UIを更新するために使用できる3つの状態のリスナー/デリゲート関数があります。
再接続
Client SDKが再接続を試みているときです。
client.setOnCallMediaReconnectingListener {
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectingForCall callId: VGCallId) {
}
再接続
これは、Client SDK が正常に再接続された場合です。
client.setOnCallMediaReconnectionListener {
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectingForCall callId: VGCallId) {
}
切断
これは、Client SDKが再接続に失敗した場合です。この時点で、通話が終了したものとして扱う必要があります。
client.setOnCallMediaDisconnectListener { callId, reason ->
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaDisconnectForCall callId: VGCallId, reason: VGCallDisconnectReason) {
}
明示的な再接続
Client SDKには、通話を明示的に再接続する機能があります。これは、電話を切って新しい通話を開始することなく、ユーザーが話しているデバイスを切り替えたい場合や、アプリケーションが終了した場合などに便利です。
セッションが作成されると、最初の通話のコールIDを使用して再接続できます。
client.reconnectCall(existingCallId)
.then(() => {
call = existingCallId;
})
.catch(error=> {
console.error("Error reconnecting call: ", error);
})
電話だ:
client.reconnectCall(existingCallID) {
error ->
when {
error != null -> {
// Handle call reconnection error
}
else -> {
// Handle reconnected call
}
}
}
client.reconnectCall(existingCallID) { error in
if error == nil {
self.call = existingCallID
} else {
// Handle call reconnection error
}
}