Chat-Ereignisse
Zuvor haben Sie in der Vonage-Befehlszeilenschnittstelle eine Unterhaltung erstellt und die beiden Benutzer zu dieser Unterhaltung hinzugefügt. Konversationen sind die Art und Weise, wie die Benutzer miteinander kommunizieren. Weitere Informationen zu Konversationen finden Sie in der Conversation API-Dokumentation. Chat-Ereignisse, oder VGConversationEvent Objekte werden über die von Ihnen erstellte Konversation gesendet. Um ein Chat-Ereignis zu erhalten, müssen Sie also zunächst der Konversation beitreten. Um dies zu implementieren, aktualisieren Sie die ChatViewModel Klasse.
Fügen Sie die getMemberIDIfNeeded Funktion:
Damit wird geprüft, ob die memberIDdie generiert wird, wenn Sie einer Unterhaltung beitreten, noch nicht festgelegt wurde. Wenn nicht, ruft es getMemberID. erstellen getMemberID:
Diese Funktion versucht zunächst, die Mitglieds-ID dieses Benutzers mit getConversationMemberWenn es nicht klappt, wird es sich an der Unterhaltung mit joinConversation die die Mitglieds-ID zurückgibt.
Nun, da dieser Benutzer garantiert ein Mitglied der Konversation ist, können Sie die Konversationsereignisse über den Client abrufen. Erstellen Sie eine Funktion namens getConversationEvents:
getConversationEvents nimmt eine Gesprächs-ID und VGGetConversationEventsParameters. Mit den Parametern können Sie festlegen, wie die Ereignisse an Sie zurückgegeben werden sollen. Diese Funktion gibt eine paginierte Antwort zurück. Um mehr über Paginierung zu erfahren, lesen Sie bitte die Paginierungsanleitung. Um die Ereignisse anzuzeigen, erstellen Sie eine Hilfsfunktion, die die Ereignisobjekte in einen Anzeige-String umwandelt:
Die drei Ereignisse, die in diesem Lernprogramm verwendet werden, sind memberJoined, memberLeftund messageText. Im Fall von messageText verwendet die Funktion die memberID Eigenschaft, um festzustellen, ob die Nachricht vom aktuell angemeldeten Benutzer gesendet wurde. Dadurch kann die Benutzeroberfläche die gesendeten Nachrichten des Benutzers rechts und die empfangenen Nachrichten links anordnen.
Die VGChatClientDelegate
Die Anwendung muss auch auf Ereignisse in einer Konversation nach dem anfänglichen Laden reagieren, daher müssen Sie die VGChatClientDelegate didReceiveConversationEvent Veranstaltung.
Wenn ein neues Ereignis empfangen wird, wird es an die events die automatisch veröffentlicht wird, damit die Benutzeroberfläche aktualisiert werden kann.
Aktualisierung der Benutzeroberfläche
Nun, da die ChatViewModel kann neue Konversationsereignisse abrufen und abhören und den Code der Ansicht aktualisieren, um sie anzuzeigen:
Jetzt im Listwurde die switch-Anweisung aktualisiert und ruft nun generateDisplayText für die drei verschiedenen Arten von Konversationsereignissen, die in diesem Lernprogramm verwendet werden. Außerdem gibt es eine ProgressView denn wenn die ChatViewModel wird geladen. Wenn die Ansicht geladen wird, onAppear aufgerufen wird, die dann die Funktionen aufruft, die Sie auf der Seite ChatViewModel.
Bauen und Ausführen
Presse Cmd + R zu erstellen und erneut auszuführen. Nachdem Sie sich angemeldet haben, sehen Sie, dass Alice der Unterhaltung beigetreten ist:

Erstellen einer iOS-Chat-App
Erstellen einer iOS-Anwendung, mit der sich Benutzer gegenseitig Nachrichten schicken können