Gerenciamento de membros com o 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.
Este guia explica como gerenciar membros com o Vonage Client SDK. Antes de começar, certifique-se de ter adicionado o SDK ao seu aplicativo e criado uma sessão (Android, iOS, JS).
Quando um Usuário Quando alguém entra em uma conversa, essa pessoa se torna um Membro. Uma associação é uma correspondência entre um usuário, um canal e um Conversa. Por exemplo, uma usuária chamada “Alice” passará a ser membro de uma conversa chamada “Chat”, por meio do canal “App”.
Ações relacionadas a membros, como convidar e listar membros, podem ser realizadas por qualquer usuário que possua um ID de conversa. Para controlar quais usuários podem realizar essas ações, restrinja por meio de ACLs no JWT.
Participar de uma conversa
Com um ID de conversa, você pode participar de uma conversa. Ao participar, é criado um membro na conversa com o JOINED estado. Depois disso, você poderá enviar e receber mensagens. Ao entrar em uma conversa por meio do Client SDK, o canal é definido como “App”
client.joinConversation(conversationId)
.then(memberId => {
console.log("Successfully joined Conversation with Member Id: ", memberId);
}).catch(error => {
console.error("Error joining Conversation: ", error);
});
Convidando para uma conversa
Com um ID de conversa e o nome de usuário de outra pessoa, você pode convidá-la para uma conversa. No Android e no iOS, uma notificação push será enviada aos dispositivos registrados da pessoa convidada.
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);
});
Saindo de uma conversa
Com um ID de conversa, você pode sair de uma conversa. Ao sair de uma conversa, o Dos membros estado para LEFT.
client.leaveConversation(conversationId)
.then(() => {
console.log("Successfully left Conversation.");
}).catch(error => {
console.error("Error leaving Conversation: ", error);
});
Como obter participantes para a conversa
Com o ID de uma conversa da qual você é membro, é possível obter todos os membros dessa conversa. Opcionalmente, você pode passar alguns parâmetros para configurar a resposta; caso contrário, serão utilizados os valores padrão. Este método retorna uma resposta paginada. Se você não estiver familiarizado com paginação, consulte o guia de paginação.
Você pode definir:
- Pedido
- Tamanho da página
- Um 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);
});
Como conseguir um participante para a conversa
Com um ID de conversa e um ID de membro, é possível obter um objeto Member completo. Se você quiser obter seu objeto Member, pode definir o memberId parâmetro para "me".
client.getConversationMember(conversationId, memberId)
.then(member => {
console.log("Successfully got Member: ", member);
}).catch(error => {
console.error("Error getting Member: ", error);
});
Como participar de uma conversa – Eventos dos membros
Você pode receber todos os eventos de membros da conversa em seu aplicativo configurando um ouvinte de eventos ou uma função delegada. Aqui, você pode verificar o tipo de evento de membro recebido.
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;
};
});