Volver a conectar una llamada
En esta guía se explica cómo volver a conectarse a una llamada en la aplicación Vonage Client. Antes de empezar, asegúrate de haber añadido el Vonage Client SDK a tu aplicación y (Android, iOS, JS) y podrá hacer o reciba llamadas.
Reconexión automática (Android e iOS)
En Android e iOS, el Client SDK intentará, de forma predeterminada, volver a conectar una llamada automáticamente cuando las condiciones de la red se deterioren. Para desactivar este comportamiento, puedes configurar autoReconnectMedia a «false» al inicializar el Client SDK. Durante el proceso de reconexión automática, podrás recibir actualizaciones. La llamada pasará a un estado de reconexión, que a su vez dará paso a un estado de reconexión o a un estado de desconexión. El Client SDK cuenta con funciones de escucha y delegados para estos tres estados, que puedes utilizar para actualizar tu interfaz de usuario.
Volver a conectar
Esto ocurre cuando el Client SDK está intentando volver a conectarse.
client.setOnCallMediaReconnectingListener {
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectingForCall callId: VGCallId) {
}
Conectado de nuevo
Esto ocurre cuando el Client SDK se ha vuelto a conectar correctamente.
client.setOnCallMediaReconnectionListener {
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectingForCall callId: VGCallId) {
}
Desconectado
Esto ocurre cuando el Client SDK no ha podido volver a conectarse; en ese momento, debes considerar que la llamada ha finalizado.
client.setOnCallMediaDisconnectListener { callId, reason ->
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaDisconnectForCall callId: VGCallId, reason: VGCallDisconnectReason) {
}
Reconexión explícita de una llamada
El Client SDK tiene una función para reconectar explícitamente una llamada. Esto resulta útil, por ejemplo, cuando se desea cambiar el dispositivo en el que está hablando un usuario sin colgar e iniciar una nueva llamada o si la aplicación muere.
Una vez creada una sesión, puede volver a conectarse utilizando el identificador de llamada de la llamada inicial.
client.reconnectCall(existingCallId)
.then(() => {
call = existingCallId;
})
.catch(error=> {
console.error("Error reconnecting call: ", error);
})
Llama:
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
}
}