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 tipos custom:poll:question y custom: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);
    });

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;
    };
});