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

Anrufe auf Android und iOS wiederherstellen

Zuletzt aktualisiert am January 8, 2024

Lesedauer: 1 Minute

Das Vonage Client SDK ermöglicht es Ihnen, Applikationen für iOS, Android und das Web zu erstellen, die Sprach- und Messaging-Kommunikation auf Basis der Vonage Conversation API.

Bei der Entwicklung solcher Apps muss unbedingt berücksichtigt werden, wie sich Änderungen der Konnektivität auf die App auswirken können. Das typische Szenario, bei dem man eine Mobilfunkverbindung nutzt, zu Hause ankommt und sich mit dem WLAN verbindet, kann zu Problemen führen, wenn das Gerät zwischen den Verbindungen wechselt. In diesem Beitrag erfahren Sie, wie Sie solche Probleme bei der Verwendung des Vonage Client SDK für Android und iOS entschärfen können.

Automatisches Wiederherstellen von Anrufen

Das Client SDK versucht, einen Anruf automatisch neu zu verbinden, wenn sich die Internetverbindung ändert. Das Client SDK bietet außerdem Listener für Android und Delegate-Funktionen für iOS, um Konnektivitätsänderungen zu überwachen. Der Anruf geht zunächst in einen Zustand der Wiederherstellung der Verbindung über, der dann entweder in einen Zustand der Wiederherstellung oder der Trennung der Verbindung übergeht. Wenn Sie überwachen, wann das SDK Änderungen in der Verbindung erfährt, können Sie die Benutzeroberfläche Ihrer App aktualisieren, um Ihren Benutzern Feedback zu geben.

Zustand wiederherstellen

Dies ist der Fall, wenn das Client SDK versucht, eine neue Verbindung herzustellen.

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

Wiederhergestellter Zustand

Dies ist der Fall, wenn der Client SDK die Verbindung erfolgreich wiederhergestellt hat.

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

Getrennt

Dies ist der Fall, wenn es dem Client SDK nicht gelungen ist, den Anruf wieder zu verbinden.

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

Wiederherstellen von Anrufen oder Verschieben von Geräten

Die Client-SDKs bieten auch die Flexibilität, einen Anruf wiederherzustellen, wenn Ihre Anwendung nicht mehr funktioniert, oder einen Anruf zwischen Geräten zu verschieben. Die Funktion reconnectCall Funktion nimmt eine Anruf-ID und versucht, Ihr SDK wieder mit einem bestehenden Anruf zu verbinden:

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
}

Um einen Anruf wiederherzustellen, können Sie die ID des laufenden Anrufs in einer Art lokalem Speicher ablegen und beim erneuten Öffnen Ihrer App versuchen, die Verbindung wiederherzustellen. Wenn Sie versuchen, Anrufe zwischen zwei Geräten zu verschieben, können Sie die Anruf-ID an das neue Gerät senden und die Verbindung von dort aus wiederherstellen. Mit reconnectCall auf dem neuen Gerät wird der Anruf verbunden und die Verbindung auf dem alten Gerät geschlossen. reconnectCall ist auch im JavaScript Client SDK verfügbar.

Wie geht es weiter?

Sie können den Leitfaden über die Wiederherstellung von Anrufen lesen. Um mehr über das Client SDK zu erfahren, besuchen Sie developer.vonage.com.

Teilen Sie:

https://a.storyblok.com/f/270183/400x400/19c02db2d3/abdul-ajetunmobi.png
Abdul AjetunmobiVonage Ehemaliges Teammitglied

Abdul ist ein Developer Advocate für Vonage. Er hat einen Hintergrund als iOS-Ingenieur im Bereich Verbraucherprodukte. In seiner Freizeit fährt er gerne Rad, hört Musik und berät diejenigen, die gerade ihre Reise in die Technologiebranche beginnen.