Gestion des conversations avec le 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.

Ce guide explique comment gérer les conversations avec le Vonage Client SDK. Avant de commencer, assurez-vous d'avoir ajouté le SDK à votre application et d'avoir créé une session (Android, iOS, JS).

A Conversation peut être considéré comme un salon de discussion lorsque vous travaillez avec le Vonage Client SDK. L'interface de votre application Utilisateurs peuvent se joindre à des conversations. Lorsqu'ils rejoignent une conversation, ils deviennent une Membre. Les membres peuvent alors envoyer et recevoir des messages.

Des actions telles que la suppression d'une conversation ou d'un événement sont possibles pour tout utilisateur disposant d'un identifiant de conversation. Pour contrôler quels utilisateurs peuvent effectuer certaines actions, restreignez-les par l'intermédiaire de ACLs sur le JWT.

Créer une conversation

Les createConversation vous permet de créer une conversation en passant éventuellement quelques paramètres. Les noms des conversations doivent être uniques. Si vous ne fournissez pas de nom de conversation ou de nom d'affichage, un nom sera généré pour vous.

Vous pouvez régler :

  • Nom
  • Nom d'affichage
  • URL de l'image
  • TTL
  • Clé de tri personnalisée
  • Données personnalisées
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);
    });

Obtenir des conversations

Les getConversations vous permet d'obtenir toutes les conversations pour lesquelles l'utilisateur actuel est membre. Vous pouvez éventuellement passer quelques paramètres pour configurer la réponse, sinon les valeurs par défaut seront utilisées. Cette méthode renvoie une réponse paginée. Si vous n'êtes pas familier avec la pagination, consultez la page guide de pagination.

Vous pouvez régler :

  • Commande
  • Taille de la page
  • Un curseur
  • Inclure ou non des données personnalisées
  • Que commander par
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);
    });

Obtenir une conversation

Étant donné l'identifiant d'une conversation, vous pouvez obtenir un objet de conversation.

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

Mise à jour d'une conversation

Les updateConversation vous permet de mettre à jour les propriétés de votre conversation. Vous pouvez passer des paramètres avec 3 options :

  • Omettre une valeur - Il n'y a pas de changement dans la conversation.
  • Fournir une valeur (VGOption.some() sur Android et iOS) - La valeur est mise à jour dans la conversation.
  • Passage null (VGOption.some(null/nil) sur Android et iOS) - La valeur est fixée à null ou à la valeur par défaut de la conversation.

Vous pouvez mettre à jour ces propriétés de conversation :

  • Nom
  • Nom d'affichage
  • URL de l'image
  • TTL
  • Clé de tri personnalisée
  • Données personnalisées
// 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);
    });

Obtenir les événements d'une conversation

À partir d'un identifiant de conversation, il est possible d'obtenir les événements d'une conversation. Vous pouvez éventuellement passer des paramètres pour configurer la réponse, sinon les valeurs par défaut seront utilisées. Cette méthode renvoie une réponse paginée. Si vous n'êtes pas familier avec la pagination, consultez la section guide de pagination.

Vous pouvez régler :

  • Commande
  • Taille de la page
  • Un curseur
  • Événements à filtrer
  • Inclure ou non les événements supprimés
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);
    });

Suppression des événements d'une conversation

Vous pouvez supprimer un événement à partir d'un identifiant d'événement et d'un identifiant de conversation.

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

Suppression d'une conversation

Vous pouvez supprimer une conversation à partir d'un numéro d'identification de la conversation.

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