Como enviar e receber eventos efêmeros
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 enviar e receber eventos efêmeros 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), e participou de uma conversa.
Eventos efêmeros são eventos de curta duração que são enviados a todos App Participantes de uma conversa. Eles não ficam armazenados na conversa, ao contrário de Eventos personalizados. Portanto, quando você receber um Eventos da Conversation eles não serão devolvidos.
Os eventos efêmeros são mais adequados para implementar eventos personalizados recorrentes, como indicadores de digitação.
Envio de eventos efêmeros
Com um ID de conversa, você pode enviar um evento efêmero. Recomenda-se usar um JSON para seus dados personalizados e incluir um parâmetro de tipo, por exemplo: type: 'ephemeral:typingStart'.
const typingStartEvent = {
member: memberId,
type: "typing:start"
};
client.sendEphemeralEvent(conversationId, typingStartEvent)
.then(timestamp => {
console.log("Successfully sent ephemeral event at ", timestamp);
}).catch(error => {
console.error("Error sending ephemeral event: ", error);
});
client.sendEphemeralEvent("CONV_ID", "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.sendEphemeralEvent("CONV_ID", customBody: "MY_CUSTOM_BODY") { error, timestamp in
...
}
Recebimento de eventos efêmeros
Você pode receber todos os eventos de conversa em seu aplicativo configurando um ouvinte de eventos ou uma função delegada. Aqui, você pode verificar o tipo de evento recebido.
client.on("conversationEvent", event => {
switch (event.kind) {
case "ephemeral":
handleEphemeralEvent(event);
break;
};
});
client.setOnConversationEventListener {
when(it) {
is EphemeralConversationEvent -> {}
}
}
func chatClient(_ client: VGChatClient, didReceiveConversationEvent event: VGConversationEvent) {
switch event.kind {
case .ephemeral:
// Handle Ephemeral Event
let ephemeralEvent = event as! VGEphemeralConversationEvent
...
}
}