https://d226lax1qjow5r.cloudfront.net/blog/blogposts/reconnecting-calls-on-android-and-ios/reconnecting-calls.jpg

Reconnexion des appels sur Android et iOS

Publié le January 8, 2024

Temps de lecture : 1 minute

Le SDK client de Vonage Client SDK vous permet de créer des applications pour iOS, Android et le Web qui offrent des communications vocales et de messagerie soutenues par l'API de conversation de Vonage. Conversation API de Vonage.

Lors de la création de telles applications, il est essentiel de prendre en compte la manière dont les changements de connectivité peuvent affecter l'expérience de l'application. Le scénario typique d'une connexion cellulaire, d'un retour à la maison et d'une connexion WiFi peut présenter des défis lorsque l'appareil passe d'une connexion à l'autre. Ce billet traitera de la façon d'atténuer de tels problèmes lors de l'utilisation du Client SDK de Vonage pour Android et iOS.

Reconnexion automatique des appels

Le Client SDK tentera de reconnecter automatiquement un appel en cas de changement de connectivité internet. Le Client SDK fournit également des auditeurs sur Android et des fonctions déléguées sur iOS pour surveiller les changements de connectivité. L'appel passe d'abord à l'état de reconnexion, puis à l'état de reconnexion ou de déconnexion. En surveillant les changements de connexion du SDK, vous pourrez mettre à jour l'interface utilisateur de votre application afin de fournir un retour d'information à vos utilisateurs.

Reconnecter l'État

C'est le moment où le Client SDK tente de se reconnecter.

client.setOnCallMediaReconnectingListener { 
    // Handle reconnecting state
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectingForCall callId: VGCallId) {
    // Handle reconnecting state
}

État reconnecté

C'est le moment où le Client SDK s'est reconnecté avec succès.

client.setOnCallMediaReconnectionListener { 
    // Handle reconnection
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaReconnectionForCall callId: VGCallId) {
    // Handle reconnection
}

Déconnecté

C'est le cas lorsque le Client SDK n'a pas réussi à reconnecter l'appel.

client.setOnCallMediaDisconnectListener { callId, reason ->  
    // Handle disconnection
}
// VGVoiceClientDelegate
func voiceClient(_ client: VGVoiceClient, didReceiveMediaDisconnectForCall callId: VGCallId, reason: VGCallDisconnectReason) {
    // Handle disconnection   
}

Récupération d'appels ou de dispositifs mobiles

Les SDK clients sont également suffisamment souples pour vous permettre de récupérer un appel si votre application disparaît ou de transférer un appel d'un appareil à l'autre. La fonction reconnectCall prend un numéro d'appel et tente de reconnecter votre SDK à un appel existant :

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
}

Pour récupérer un appel, vous pouvez stocker l'identifiant de l'appel en cours dans une sorte de mémoire locale, et lorsque votre application s'ouvre à nouveau, vous pouvez tenter une reconnexion. Si vous essayez de transférer des appels entre deux appareils, vous pouvez envoyer l'identifiant de l'appel au nouvel appareil et vous reconnecter à partir de là. L'utilisation de reconnectCall sur le nouvel appareil permet de rejoindre l'appel et de fermer la connexion sur l'ancien appareil. reconnectCall est également disponible sur le Client SDK JavaScript.

Quelle est la prochaine étape ?

Vous pouvez lire le guide sur la reconnexion des appels. Pour en savoir plus sur le Client SDK, visitez le site developer.vonage.com.

Partager:

https://a.storyblok.com/f/270183/400x400/19c02db2d3/abdul-ajetunmobi.png
Abdul AjetunmobiVonage Ancien membre de l'équipe

Abdul est défenseur des développeurs chez Vonage. Il a travaillé dans le domaine des produits de consommation en tant qu'ingénieur iOS. Pendant son temps libre, il aime faire du vélo, écouter de la musique et conseiller ceux qui commencent leur parcours dans la technologie.