Gestión de miembros con el 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.

Esta guía explica cómo administrar miembros con el Vonage Client SDK. Antes de comenzar, asegúrate de haber agregado el SDK a tu aplicación y de haber creado una sesión (Android, iOS, JS).

Cuando un Usuario se une a una Conversación se convierten en Miembro. Una afiliación es una correspondencia entre un Usuario, un Canal y un Conversación. Por ejemplo, un Usuario llamado "Alice", se convertirá en Miembro en una Conversación llamada "Chat", a través del canal "App".

Cualquier usuario con un ID de conversación puede realizar acciones como invitar y listar miembros. Para controlar qué usuarios pueden realizar estas acciones, restrínjalas mediante ACL en el JWT.

Participar en una conversación

Con un ID de conversación, puedes unirte a una conversación. Al unirse se crea un Miembro en la Conversación con el JOINED estado. Después de esto, puede enviar y recibir mensajes. Al unirse a una conversación a través del Client SDK, el canal se establece en "App".

client.joinConversation(conversationId)
.then(memberId => {
    console.log("Successfully joined Conversation with Member Id: ", memberId);
}).catch(error => {
    console.error("Error joining Conversation: ", error);
});

Invitar a una conversación

Dado un ID de Conversación y el nombre de usuario de otro Usuario, puedes invitarle a una Conversación. En Android e iOS, se enviará una notificación push a los dispositivos registrados del usuario invitado.

client.inviteToConversation(conversationId, username)
    .then(memberId => {
        console.log("Successfully invited User to Conversation with Member Id: ", memberId);
    }).catch(error => {
        console.error("Error joining Conversation: ", error);
    });

Abandonar una conversación

Con un identificador de conversación, puede abandonar una conversación. Al abandonar una conversación, se actualiza el Miembros estado a LEFT.

client.leaveConversation(conversationId)
    .then(() => {
        console.log("Successfully left Conversation.");
    }).catch(error => {
        console.error("Error leaving Conversation: ", error);
    });

Conseguir miembros para la conversación

Dado un ID de Conversación de una Conversación en la que eres Miembro, puedes obtener todos los Miembros de esa Conversación. Opcionalmente puede pasar algunos parámetros para configurar la respuesta, si no se utilizarán los valores por defecto. Este método devuelve una respuesta paginada. Si no está familiarizado con la paginación, consulte la sección guía de paginación.

Puedes configurarlo:

  • Pida
  • Tamaño de página
  • Un cursor
const params = {
    order: "asc", // "desc"
    pageSize: 100,
    cursor: null
};
    
client.getConversationMembers(conversationId, params)
    .then(({members, nextCursor, previousCursor}) => {
        console.log("Array of Members: ", members);
        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 Members: ", error);
    });

Cómo conseguir un miembro para conversar

Dado un ID de Conversación y un ID de Miembro, puede obtener un objeto Miembro completo. Si desea obtener su objeto Member, puede establecer el parámetro memberId a "me".

client.getConversationMember(conversationId, memberId)
    .then(member => {
        console.log("Successfully got Member: ", member);
    }).catch(error => {
        console.error("Error getting Member: ", error);
    });

Eventos para miembros de Getting A Conversation

Puede recibir todos los Eventos de Miembro de Conversación en su aplicación configurando una Función de Escucha/Delegado de Eventos. Aquí puede comprobar el tipo de Evento Miembro entrante.

client.on("conversationEvent", event => {
    switch (event.kind) {
        case "member:invited":
            handleMemberInvited(event);
            break;
        case "member:joined":
            handleMemberJoined(event);
            break;
        case "member:left":
            handleMemberLeft(event);
            break;
    };
});