Verwendung weiterer Ereignisse mit dem Client SDK

Product deprecation notice

Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.

If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.

In diesem Leitfaden geht es um das Hinzufügen weiterer Konversationsereignisse; wir befassen uns mit mehreren Arten von Ereignissen, denjenigen, die über die Konversation kommen, und denjenigen, die wir an die Konversation senden.

Concepts

In diesem Leitfaden werden Sie mit den folgenden Concepts vertraut gemacht.

  • Konversation Veranstaltungen - member:left und text: Ereignisse, die bei einer Konversation ausgelöst werden, wenn jemand eine Aktion ausführt
  • Konversations-Aktionen - Aktionen, die Ereignisse in einer Konversation auslösen
  • Konversation Geschichte - ein events Objekt, das alle Text-Ereignisse in einer Konversation speichert

HINWEIS: Eine Schritt-für-Schritt-Anleitung zur Erstellung einer Chat-Anwendung ist verfügbar hier.

Die getEvents Methode ruft alle Ereignisse ab, die im Zusammenhang mit der Konversation aufgetreten sind. Sie gibt bei jedem Aufruf eine Teilmenge oder "Seite" von Ereignissen zurück - die Anzahl der zurückgegebenen Ereignisse basiert auf dem page_size (der Standardwert ist 10 Ergebnisse, der Höchstwert ist 100).

Hinweis: Siehe die Dokumentation für Hilfsmethoden, die Sie verwenden können, um mit diesen paginierten Daten zu arbeiten.

conversation
  .getEvents({ page_size: 20 })
  .then((events_page) => {
    events_page.items.forEach((value, key) => {
      if (conversation.members.get(value.from)) {
        const date = new Date(Date.parse(value.timestamp))
        
        switch (value.type) {

          case 'member:joined':
            console.log(`${conversation.members.get(value.from).user.name} @ ${date}: joined the conversation`);
            break;
          case 'member:left':
            console.log(`${conversation.members.get(value.from).user.name} @ ${date}: left the conversation`);
            break;
          case 'member:invited':
            console.log(`${conversation.members.get(value.from).user.name} @ ${date}: invited to the conversation`);
            break;

          case 'text:seen':
            console.log(`${conversation.members.get(value.from).user.name} saw text at @ ${date} : ${value.body.text}`))
            break;
          case 'text:delivered':
            console.log(`Text from ${conversation.members.get(value.from).user.name} delivered at @ ${date} : ${value.body.text}`))
            break;
          case 'text':
            console.log(`${conversation.members.get(value.from).user.name} @ ${date}: ${value.body.text}`);
            break;

          case 'text:typing:on':
            console.log(`${conversation.members.get(value.from).user.name} starting typing @ ${date}`);
            break;
          case 'text:typing:off':
            console.log(`${conversation.members.get(value.from).user.name} stopped typing @ ${date}`);
            break;

          default:
            console.log(`${conversation.members.get(value.from).user.name} @ ${date}: unknown event`);
        }
      }
    })

  })
  .catch(this.errorLogger)

Referenz