Swift

Événements de chat

Plus tôt, vous avez créé une conversation dans le CLI de Vonage et ajouté les deux utilisateurs à cette conversation. Les conversations sont le moyen de communication des utilisateurs. Vous pouvez en savoir plus sur les conversations dans la section Documentation sur l'API Conversation. Événements de chat, ou VGConversationEvent sont envoyés en utilisant la conversation que vous avez créée, donc pour obtenir l'événement de chat, vous devez d'abord rejoindre la conversation. Pour ce faire, mettez à jour le fichier ChatViewModel classe.

Ajouter le getMemberIDIfNeeded fonction :

Cela permet de vérifier si le memberIDqui est généré lorsque vous participez à une conversation, a été défini. Si ce n'est pas le cas, il appelle getMemberID. Créer getMemberID:

Cette fonction tente d'abord d'obtenir l'identifiant de membre de cet utilisateur avec getConversationMembers'il échoue, il rejoindra la conversation avec joinConversation qui renvoie l'identifiant du membre.

Maintenant que cet utilisateur est assuré d'être un membre de la conversation, vous pouvez obtenir les événements de la conversation à l'aide du client. Créez une fonction appelée getConversationEvents:

getConversationEvents prend un identifiant de conversation et VGGetConversationEventsParameters. Les paramètres vous permettent de personnaliser la façon dont les événements vous sont renvoyés. Cette fonction renvoie une réponse paginée. Pour en savoir plus sur la pagination, vous pouvez consulter la page guide de pagination. Pour afficher les événements, créez une fonction d'aide qui transforme les objets d'événement en une chaîne d'affichage :

Les trois événements utilisés dans ce tutoriel sont les suivants memberJoined, memberLeftet messageText. Dans le cas de messageText la fonction utilise le memberID pour déterminer si le message a été envoyé par l'utilisateur actuellement connecté. Cela permettra à l'interface utilisateur d'épingler les messages envoyés par l'utilisateur à droite et les messages reçus à gauche.

Les VGChatClientDelegate

L'application doit également réagir aux événements d'une conversation après le chargement initial, vous devez donc mettre en œuvre la fonction VGChatClientDelegate didReceiveConversationEvent événement.

Lorsqu'un nouvel événement est reçu, il est ajouté à la liste des événements. events qui est automatiquement publiée pour que l'interface utilisateur soit mise à jour.

Mise à jour de l'interface utilisateur

Maintenant que la ChatViewModel peut récupérer et écouter les nouveaux événements de conversation, mettre à jour le code de la vue pour les afficher :

Maintenant dans la ListLa déclaration de changement de fournisseur a été mise à jour pour appeler generateDisplayText pour les trois différents types d'événements de conversation utilisés dans le didacticiel. Il existe également un ProgressView car lorsque le ChatViewModel est en cours de chargement. Lorsque la vue se charge, onAppear est appelé et appelle ensuite les fonctions que vous avez créées sur le fichier ChatViewModel.

Construire et faire fonctionner

Presse Cmd + R pour la construire et l'exécuter à nouveau. Après vous être connecté, vous verrez qu'Alice a rejoint la conversation :

Chat interface with connection events