Envoi d'un message
Dans l'étape précédente, vous avez appris ce que sont les conversations et les événements. L'envoi d'un message crée un nouvel événement et l'envoie par l'intermédiaire du client.
Pour envoyer un message, mettez à jour le Task dans le Button dans la vue :
struct ChatView: View {
...
HStack {
TextField("Message", text: $message)
Button("Send") {
Task {
await chatViewModel.sendMessage(message)
self.message = ""
}
}.buttonStyle(.bordered)
}.padding(8)
}
Cela appellera un sendMessage sur la fonction ChatViewModel que vous allez créer ensuite, puis il définit message à une chaîne vide, ce qui effacera le texte saisi. Ajouter ensuite sendMessage à la ChatViewModel classe :
@MainActor
final class ChatViewModel: NSObject, ObservableObject {
...
func sendMessage(_ message: String) async {
_ = try? await client.sendMessageTextEvent(conversationID, text: message)
}
}
Pour envoyer un message texte, vous appelez sendMessageTextEvent sur le client avec l'identifiant de la conversation et le message. En cas de succès, didReceiveConversationEvent sur le VGChatClientDelegate sera appelé. Cela ajoutera l'événement au fichier events qui mettra automatiquement à jour l'interface utilisateur.
Construire et faire fonctionner
Cmd + R pour la construire et l'exécuter à nouveau. Vous avez maintenant une application de chat qui fonctionne ! Pour discuter simultanément, vous pouvez exécuter l'application sur deux simulateurs/appareils différents :

Créer une application de chat pour iOS
Créer une application iOS qui permet aux utilisateurs de s'envoyer des messages.