Recevoir un appel
Ce guide explique comment recevoir un appel avec le Vonage Client SDK. Avant de commencer, assurez-vous d'avoir ajouté le SDK à votre application et (Android, iOS, JS).
NOTE : Sur iOS, il est prévu que vous utilisiez CallKit pour les appels entrants et sortants. Veuillez suivre les instructions de guide de la notification push.
Recevoir une invitation à téléphoner
Pour recevoir un appel entrant in-app, vous devez écouter les invitations à recevoir des appels :
Pour recevoir un appel entrant in-app, écoutez la tonalité callInvite événement :
// After creating a session
client.on("callInvite", (callId, from, channelType) => {
// Answer / Reject Call
console.log( { callId, from, channelType } );
});
Ajouter le ViewControllerou similaire, en tant que délégué du client vocal :
ViewController devront désormais se conformer à la VGVoiceClientDelegate, le didReceiveInviteForCall sera appelée en cas d'appel entrant. Gardez une référence à la fonction callId car elle sera nécessaire pour effectuer d'autres opérations :
Vous pourrez alors répondre à l'invitation ou la rejeter.
Réponse
// After creating a session
client.answer(callId)
.then(() => {
console.log("Success answering call.");
})
.catch(error => {
console.error("Error answering call: ", error);
});
Rejeter
// After creating a session
client.reject(callId)
.then(() => {
console.log("Success rejecting call.");
})
.catch(error => {
console.error("Error rejecting call: ", error);
});
Raccrocher
Pour un call:
// After creating a session
client.hangup(callId)
.then(() => {
console.log("Success hanging up call.");
})
.catch(error => {
console.error("Error hanging up call: ", error);
});
Écouter les événements de l'appel
Pour connaître l'état d'un appel, par exemple pour savoir si l'autre membre a répondu ou raccroché, vous devez écouter les événements relatifs à l'état des segments.
Pour voir les mises à jour sur l'état de l'appel et de ses membres :
// After creating a session
client.on("legStatusUpdate", (callId, legId, status) => {
console.log({callId, legId, status});
});
Les didReceiveLegStatusUpdateForCall vous informera des modifications apportées aux segments d'appel de l'appel actif :