Initialiser le client
Client vocal est la classe principale utilisée pour interagir avec le client SDK Android. Avant de l'utiliser, vous devez initialiser le client en fournissant une instance de la classe Android Contexte classe.
En haut de la page MainActivity classe définir client qui contiendra la référence au client et la propriété otherUser qui contiendra le nom du 2e utilisateur (l'utilisateur à qui l'appel sera adressé) :
private lateinit var client: VoiceClient
private var otherUser: String = ""
Localiser le onCreate dans la méthode MainActivity et initialiser la classe VoiceClient:
client = VoiceClient(this.application.applicationContext)
val config = VGClientConfig(ClientConfigRegion.US)
config.enableWebsocketInvites = true
client.setConfig(config)
NOTE : Les enableWebsocketInvites dans la configuration du client ne doit pas être utilisé en production. Activez les notifications push pour vous assurer de recevoir des appels entrants même lorsque votre application est en arrière-plan. Voir la page notifications push pour plus d'informations.
L'IDE affichera un avertissement concernant la référence non résolue :

Placez le curseur sur le texte rouge et appuyez sur Alt + Enter pour importer la référence.
Maintenant dans la MainActivity ajoute une méthode d'aide qui masque tous les éléments de l'interface utilisateur :
private fun hideUI() {
val content = findViewById<LinearLayout>(R.id.content)
content.forEach { it.visibility = View.GONE }
}
Enfin, remplissez le corps des deux méthodes pour permettre à l'utilisateur de se connecter. Veillez à remplacer ALICE_JWT et BOB_JWT avec les JWTs que vous avez créés à l'étape précédente :
private fun loginAsAlice() {
otherUser = "Bob"
client.createSession(ALICE_JWT) {
err, sessionId ->
when {
err != null -> {
hideUI()
connectionStatusTextView.visibility = View.VISIBLE
connectionStatusTextView.text = err.localizedMessage
}
else -> {
hideUI()
connectionStatusTextView.visibility = View.VISIBLE
connectionStatusTextView.text = "Connected"
startCallButton.visibility = View.VISIBLE
waitingForIncomingCallTextView.visibility = View.VISIBLE
}
}
}
}
private fun loginAsBob() {
otherUser = "Alice"
client.createSession(BOB_JWT) {
err, sessionId ->
when {
err != null -> {
hideUI()
connectionStatusTextView.visibility = View.VISIBLE
connectionStatusTextView.text = err.localizedMessage
}
else -> {
hideUI()
connectionStatusTextView.visibility = View.VISIBLE
connectionStatusTextView.text = "Connected"
startCallButton.visibility = View.VISIBLE
waitingForIncomingCallTextView.visibility = View.VISIBLE
}
}
}
}
NOTE Le délai d'expiration du jeton a été fixé à 6 heures ; vous devrez donc en générer un nouveau s'il est trop vieux.
Construire et faire fonctionner
Presse Ctrl + R pour créer et exécuter l'application.
Après la connexion réussie de l'utilisateur, vous verrez waiting for incoming call texte et make a call bouton :

Passer un appel vocal d'application à application
Passer un appel vocal depuis une application Android vers la même application Android installée sur un autre appareil à l'aide du Client SDK Android.