Verwalten von Konversationen 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.

Diese Anleitung beschreibt, wie Sie Gespräche mit dem Vonage Client SDK verwalten. Bevor Sie beginnen, vergewissern Sie sich, dass Sie das SDK zu Ihrer Anwendung hinzugefügt und eine Sitzung erstellt haben (Android, iOS, JS).

A Konversation kann bei der Arbeit mit dem Vonage Client SDK als Chatroom angesehen werden. Ihre Anwendung Benutzer können Konversationen beitreten. Wenn sie einer Konversation beitreten, werden sie ein Mitglied. Die Mitglieder können dann Nachrichten senden und empfangen.

Aktionen wie das Löschen einer Konversation oder eines Ereignisses sind für jeden Benutzer mit einer Konversations-ID möglich. Um zu kontrollieren, welche Benutzer bestimmte Aktionen durchführen können, schränken Sie über ACLs für das JWT.

Eine Konversation führen

Die createConversation Methode können Sie eine Konversation erstellen, indem Sie optional einige Parameter übergeben. Die Namen der Konversationen müssen eindeutig sein. Wenn Sie keinen Konversationsnamen oder Anzeigenamen angeben, wird einer für Sie generiert.

Sie können einstellen:

  • Name
  • Name anzeigen
  • Bild-URL
  • TTL
  • Benutzerdefinierter Sortierschlüssel
  • Benutzerdefinierte Daten
const params = {
    name: "name",
    displayName: "displayName",
    imageUrl: "https://...",
    ttl: null, // 600 (in seconds)
    customSortKey: "customSortKey",
    customData: {key: "value"}
};

client.createConversation(params)
    .then(conversationId => {
        console.log("Id of created Conversation: ", conversationId);
    }).catch(error => {
        console.error("Error creating Conversation: ", error);
    });

Konversationen führen

Die getConversations können Sie alle Gespräche abrufen, bei denen der aktuelle Benutzer Mitglied ist. Sie können optional einige Parameter übergeben, um die Antwort zu konfigurieren, andernfalls werden die Standardwerte verwendet. Diese Methode gibt eine paginierte Antwort zurück. Wenn Sie mit der Paginierung nicht vertraut sind, sehen Sie sich die Paginierungsanleitung.

Sie können einstellen:

  • Bestellung
  • Größe der Seite
  • Ein Cursor
  • Ob benutzerdefinierte Daten einbezogen werden sollen
  • Was zu bestellen ist bis
const params = {
    order: "asc", // "desc"
    pageSize: 100,
    cursor: null,
    includeCustomData: false,
    orderBy: null // "CUSTOM_SORT_KEY"     
};

client.getConversations(params)
    .then(({conversations, nextCursor, previousCursor}) => {
        console.log("Array of Conversations: ", conversations);
        console.log("Cursor for next set of results, if any. Could be null: ", nextCursor);
        console.log("Cursor for previous set of results, if any. Could be null: ", previousCursor);
    }).catch(error => {
        console.error("Error getting Conversations: ", error);
    });

Ein Gespräch beginnen

Mit einer Gesprächs-ID können Sie ein Gesprächsobjekt abrufen.

client.getConversation(conversationId)
    .then(conversation => {
        console.log("Successfully got Conversation: ", conversation);
    }).catch(error => {
        console.error("Error getting Conversation: ", error);
    });

Aktualisieren einer Konversation

Die updateConversation Methode ermöglicht es Ihnen, die Eigenschaften Ihrer Konversation zu aktualisieren. Sie können einige Parameter mit 3 Optionen übergeben:

  • Auslassen eines Wertes - Es gibt keine Änderung in der Konversation.
  • Die Bereitstellung eines Wertes (VGOption.some() auf Android und iOS) - Der Wert wird in der Konversation aktualisiert.
  • Weitergabe null (VGOption.some(null/nil) auf Android und iOS) - Der Wert wird auf null oder den Standardwert der Konversation gesetzt.

Sie können diese Konversationseigenschaften aktualisieren:

  • Name
  • Name anzeigen
  • Bild-URL
  • TTL
  • Benutzerdefinierter Sortierschlüssel
  • Benutzerdefinierte Daten
// Update the conversation displayName and remove the imageUrl
const params = {
    displayName: "New Display Name",
    imageUrl: null,
};

client.updateConversation("CONV_ID", params)
    .then(conversationId => {
        console.log("ID of updated Conversation: ", conversationId);
    }).catch(error => {
        console.error("Error creating Conversation: ", error);
    });

Die Ereignisse einer Konversation

Mit einer Gesprächs-ID können Sie die Ereignisse eines Gesprächs abrufen. Sie können optional einige Parameter übergeben, um die Antwort zu konfigurieren, andernfalls werden die Standardwerte verwendet. Diese Methode gibt eine paginierte Antwort zurück. Wenn Sie mit der Paginierung nicht vertraut sind, sehen Sie sich die Paginierungsanleitung.

Sie können einstellen:

  • Bestellung
  • Größe der Seite
  • Ein Cursor
  • Ereignisse zum Filtern nach
  • Ob gelöschte Ereignisse einbezogen werden sollen
const params = {
    order: "asc", // "desc"
    pageSize: 100,
    cursor: null,
    eventFilter: null, // ['message', 'member:joined']
    includeDeletedEvents: false,
    startId: null // 3
};

client.getConversationEvents(conversationId, params)
    .then(({events, nextCursor, previousCursor}) => {
        console.log("Array of Events: ", events);
        console.log("cursor for next set of results, if any. could be null: ", nextCursor);
        console.log("cursor for previous set of results, if any. could be null: ", previousCursor);
    }).catch(error => {
        console.error("Error getting Events: ", error);
    });

Löschen von Ereignissen einer Konversation

Mit einer Ereignis-ID und einer Gesprächs-ID können Sie ein Ereignis löschen.

client.deleteEvent(eventId, conversationId)
    .then(() => {
        console.log("Successfully deleted EVent.");
    }).catch(error => {
        console.error("Error deleting Event: ", error);
    });

Löschen einer Konversation

Mit einer Gesprächs-ID können Sie ein Gespräch löschen.

client.deleteConversation(conversationId)
    .then(() => {
        console.log("Successfully deleted Conversation.");
    }).catch(error => {
        console.error("Error deleting Conversation: ", error);
    });