Cómo enviar y recibir eventos personalizados
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 enviar y recibir eventos personalizados con el Vonage Client SDK. Antes de comenzar, asegúrate de haber agregado el SDK a tu aplicación, creado una sesión (Android, iOS, JS), y se unió a una conversación.
Los Eventos personalizados son Eventos que tienen datos personalizados y se almacenan en una Conversación a diferencia de Eventos efímeros. Por lo tanto, cuando se obtiene un Eventos de Conversación serán devueltos. También puede filtrar por su tipo de Evento Personalizado cuando obtenga los Eventos de una Conversación.
Los eventos personalizados se envían a todos App Miembros en una Conversación. Son más adecuados para implementar acciones personalizadas para la Conversación, como una encuesta.
Envío de eventos personalizados
Dado un ID de Conversación, puede enviar un Evento personalizado. Debe dar a su Evento un tipo. El tipo debe:
- comenzar con
custom: - tener un total de 100 caracteres o menos
- sólo contienen alfanuméricos,
:,-y_caracteres Por ejemplo, una encuesta podría utilizar los tiposcustom:poll:questionycustom:poll:response.
Los datos personalizados no deben superar los 4096 bytes. Se recomienda utilizar JSON para los datos personalizados, pero puede enviar cualquier cosa aquí.
const customData = {
key1: "value 1",
key2: "value 2"
};
client.sendCustomEvent(conversationId, "custom:my-event", customData)
.then(timestamp => {
console.log("Successfully sent custom event at ", timestamp);
}).catch(error => {
console.error("Error sending custom event: ", error);
});
client.sendCustomEvent("CON_ID", "custom:myEvent","MY_CUSTOM_BODY") { error, timestamp ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */ } ?:
error?.let {/* Handle generic Error */ }
timestamp?.let { /* event sent at timestamp */ }
}
client.sendCustomEvent("CON_ID", eventType: "custom:myEvent", customData: "MY_CUSTOM_BODY") { error, timestamp in
...
}
Recepción de eventos personalizados
Puede recibir todos los Eventos de Conversación en su aplicación configurando una Función de Receptor/Delegado de Eventos. Aquí puede comprobar el tipo de Evento entrante. Se puede filtrar más el Evento Personalizado entrante en la función eventType.
client.on("conversationEvent", event => {
switch (event.kind) {
case "custom":
handleCustomEvent(event); // event.eventType: custom event type
break;
};
});
client.setOnConversationEventListener {
when(it) {
is CustomConversationEvent -> {}
}
}
func chatClient(_ client: VGChatClient, didReceiveConversationEvent event: VGConversationEvent) {
switch event.kind {
case .custom:
// Handle Custom Event
let customEvent = event as! VGCustomConversationEvent
let customEventType = customEvent.eventType
...
}
}