
Compartir:
Abdul es desarrollador de Vonage. Ha trabajado en productos de consumo como ingeniero de iOS. En su tiempo libre, le gusta andar en bicicleta, escuchar música y asesorar a aquellos que están comenzando su viaje en la tecnología.
Reconexión de llamadas en Android e iOS
Tiempo de lectura: 1 minuto
El SDK Client SDK te permite crear aplicaciones para iOS, Android y la Web que incluyan comunicaciones de voz y mensajería respaldadas por la Conversation API.
Al crear este tipo de aplicaciones, es esencial tener en cuenta cómo los cambios en la conectividad pueden afectar a la experiencia de la aplicación. El escenario típico de estar en una conexión celular, llegar a casa y conectarse a WiFi podría presentar desafíos a medida que el dispositivo cambia entre las conexiones. Este artículo explica cómo mitigar estos problemas al usar Vonage Client SDK para Android e iOS.
Reconexión automática de llamadas
El Client SDK intentará reconectar automáticamente una llamada cuando se produzca un cambio en la conectividad a Internet. El Client SDK también proporciona escuchas en Android y funciones delegadas en iOS para supervisar los cambios de conectividad. La llamada pasará inicialmente a un estado de reconexión, que a su vez pasará a un estado de reconexión o desconexión. Supervisar cuándo el SDK experimenta cambios en la conexión te permitirá actualizar la interfaz de usuario de tu aplicación para informar a tus usuarios.
Estado de la reconexión
Esto ocurre cuando el Client SDK intenta volver a conectarse.
client.setOnCallMediaReconnectingListener {
// Handle reconnecting state
}// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectingForCall callId: VGCallId) {
// Handle reconnecting state
} Estado de reconexión
Esto ocurre cuando el Client SDK se ha reconectado correctamente.
client.setOnCallMediaReconnectionListener {
// Handle reconnection
}// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectionForCall callId: VGCallId) {
// Handle reconnection
} Desconectado
Esto ocurre cuando el Client SDK no ha podido reconectar la llamada.
client.setOnCallMediaDisconnectListener { callId, reason ->
// Handle disconnection
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaDisconnectForCall callId: VGCallId, reason: VGCallDisconnectReason) {
// Handle disconnection
} Recuperar llamadas o mover dispositivos
Los SDK de cliente también tienen la flexibilidad necesaria para permitirle recuperar una llamada si su aplicación muere o para que pueda mover una llamada entre dispositivos. La función reconnectCall toma un ID de llamada e intentará reconectar su SDK a una llamada existente:
client.reconnectCall("existingCallID") {
error, call ->
when {
error != null -> {
// Handle call reconnection error
}
else -> {
// Handle reconnected call
}
}
}
client.reconnectCall("existingCallID") { error in
if error != nil {
// handle error
return
}
// handle call
}Para recuperar una llamada, puedes guardar el identificador de llamada en curso en algún tipo de almacenamiento local y, cuando se vuelva a abrir la aplicación, intentar la reconexión. Si estás intentando mover llamadas entre dos dispositivos, puedes enviar el ID de llamada al nuevo dispositivo y reconectar desde allí. Si utilizas reconnectCall en el nuevo dispositivo se unirá a la llamada y cerrará la conexión en el dispositivo antiguo. reconnectCall también está disponible en el Client SDK de JavaScript.
¿Y ahora qué?
Puede leer la guía sobre reconexión de llamadas. Para saber más sobre el Client SDK, visita developer.vonage.com.