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 que disponga de un ID de conversación puede realizar acciones relacionadas con los miembros, como invitarlos o añadirlos a una lista. Para controlar qué usuarios pueden realizar estas acciones, restrinja el acceso mediante ACL en el JWT.
Participar en una conversación
Si dispones de un ID de conversación, puedes unirte a ella. Al unirte, 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("CONV_ID") { error, memberId ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */} ?:
error?.let {/* Handle generic Error */}
memberId?.let { /* Conversation joined */ }
}
client.joinConversation("CONV_ID") { error, memberId in
...
}
Invitar a una conversación
Si dispones del ID de una conversación y del nombre de usuario de otra persona, puedes invitarla a esa conversación. En Android e iOS, se enviará una notificación push a los dispositivos registrados de la persona invitada.
client.inviteToConversation("CONV_ID", "USERNAME") { error, memberId ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */} ?:
error?.let {/* Handle generic Error */}
memberId?.let { /* Invited to Conversation */ }
}
client.inviteToConversation("CONV_ID", username: "USERNAME") { error, memberId in
...
}
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("CONV_ID") { error ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */} ?:
error?.let {/* Handle generic Error */}
/* Conversation Left */
}
client.leaveConversation("CONV_ID") { error in
...
}
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 configurar:
- Pedido
- Tamaño de la página
- Un cursor
val params = GetConversationMembersParameters(PresentingOrder.ASC, 100)
client.getConversationMembers("CONV_ID", params) { error, membersPage ->)
error?.let { /* Handle Error in fetching Conversation Members */ }
membersPage?.let {
it.members.forEach { member ->
println("Member id: ${member.id}, user id: ${member.user?.id}")
}
}
}
let params = VGGetConversationMembersParameters(order: .asc, pageSize: 100)
client.getConversationMembers("CONV_ID", parameters: params) { error, membersPage in
if error == nil {
let members = membersPage!.members
} else {
// Handle failure
}
}
Cómo conseguir un miembro para conversar
Si dispones de un ID de conversación y un ID de miembro, puedes obtener un objeto «Member» completo. Si deseas obtener tu objeto «Member», puedes establecer el memberId parámetro a "me".
client.getConversationMember("CONV_ID", "MEM_ID") { error, member ->
error?.let { /* Handle Error in fetching Conversation Members */ }
}
client.getConversationMember("CONV_ID", memberId: "MEM_ID") { error, member in
...
}
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.setOnConversationEventListener {
when(it) {
is MemberInvitedConversationEvent -> {} // Handle Member Invited Event
is MemberJoinedConversationEvent -> {} // Handle Member Joined Event
is MemberLeftConversationEvent -> {} // Handle Member Left Event
else -> {}
}
}
func chatClient(_ client: VGChatClient, didReceiveConversationEvent event: VGConversationEvent) {
switch event.kind {
case .memberInvited:
// Handle Member Invited Event
let memberInvitedEvent = event as! VGMemberInvitedEvent
case .memberJoined:
// Handle Member Joined Event
let memberJoinedEvent = event as! VGMemberJoinedEvent
case .memberLeft:
// Handle Member Left Event
let memberLeftEvent = event as! VGMemberLeftEvent
...
}
}