Wie man Nachrichtenereignisse sendet und empfängt
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.
Diese Anleitung beschreibt, wie Sie mit dem Vonage Client SDK Nachrichtenereignisse senden und empfangen. Bevor Sie beginnen, vergewissern Sie sich, dass Sie das SDK zu Ihrer Anwendung hinzugefügt und eine Session (Android, iOS, JS), und an einer Konversation teilnehmen.
Senden von Nachrichtentext-Ereignissen
Mit einer Gesprächs-ID können Sie ein Textnachrichten-Ereignis senden.
client.sendMessageTextEvent(conversationId, "Hi Vonage!")
.then(timestamp => {
console.log("Successfully sent text message at ", timestamp);
}).catch(error => {
console.error("Error sending text message: ", error);
});
client.sendMessageTextEvent("CONV_ID", "Hello world!") { error, timestamp ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */ } ?:
error?.let {/* Handle generic Error */ }
timestamp?.let { /* Message sent at timestamp */ }
}
client.sendMessageTextEvent("CONV_ID", text: "Hello world!") { error, timestamp in
...
}
Senden von Nachrichten Bildereignisse
Mit einer Konversations-ID und einer URL für ein Bild können Sie ein Bildnachrichtenereignis senden.
client.sendMessageImageEvent(conversationId, imageURL)
.then(timestamp => {
console.log("Successfully sent image message at ", timestamp);
}).catch(error => {
console.error("Error sending image message: ", error);
});
client.sendMessageImageEvent("CONV_ID", URL("MY_IMAGE_URL")) { error, timestamp ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */ } ?:
error?.let {/* Handle generic Error */ }
timestamp?.let { /* Message sent at timestamp */ }
}
client.sendMessageImageEvent("CONV_ID", imageUrl: "MY_IMAGE_URL") { error, timestamp in
...
}
Senden von Nachrichten Benutzerdefinierte Ereignisse
Zusammen mit einer Conversation ID können Sie eine vollständig benutzerdefinierte Nutzlast als benutzerdefiniertes Nachrichtenereignis senden. Dies ist nützlich, wenn Sie einen Nachrichtenereignistyp wünschen, der für Ihre Anwendung spezifisch ist.
const attachmentPayload = {
key1: "value 1",
key2: "value 2"
};
client.sendMessageCustomEvent(conversationId, attachmentPayload)
.then(timestamp => {
console.log("Successfully sent custom message at ", timestamp);
}).catch(error => {
console.error("Error sending custom message: ", error);
});
client.sendMessageCustomEvent("CONV_ID", "MY_CUSTOM_DATA") { error, timestamp ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */ } ?:
error?.let {/* Handle generic Error */ }
timestamp?.let { /* Message sent at timestamp */ }
}
client.sendMessageCustomEvent("CONV_ID", customData: "MY_CUSTOM_DATA") { error, timestamp in
}
Empfang von Nachrichtenereignissen
Sie können alle Konversationsnachrichtenereignisse in Ihrer Anwendung empfangen, indem Sie eine Ereignis-Listener/Delegate-Funktion einrichten. Nachrichtenereignisse, die über diesen Listener/Delegate empfangen werden, werden automatisch in der delivered Zustand. Hier können Sie die Art des eingehenden Nachrichtenereignisses überprüfen.
client.on("conversationEvent", event => {
switch (event.kind) {
case "message:text":
handleTextMessage(event);
break;
case "message:image":
handleImageMessage(event);
break;
case "message:custom":
handleCustomMessage(event);
break;
};
});
client.setOnConversationEventListener {
when(it) {
is MessageCustomEvent -> {} // Handle Message Custom
is MessageImageEvent -> {} // Handle Message Image
is MessageTextEvent -> {} // Handle Message Text
}
}
func chatClient(_ client: VGChatClient, didReceiveConversationEvent event: VGConversationEvent) {
switch event.kind {
case .messageText:
// Handle Message Text
let messageTextEvent = event as! VGMessageTextEvent
case .messageImage:
// Handle Message Image
let messageImageEvent = event as! VGMessageImageEvent
case .messageCustom:
// Handle Message Custom
let messageCustomEvent = event as! VGMessageCustomEvent
...
}
}
Nachrichtenereignisse als gesehen markieren
Sobald Sie ein Nachrichtenereignis erhalten haben, können Sie es als gesehen markieren.
client.sendMessageSeenEvent(eventId, conversationId)
.then(timestamp => {
console.log("Successfully sent seen event at ", timestamp);
}).catch(error => {
console.error("Error sending seen event: ", error);
});
client.sendMessageSeenEvent("EVENT_ID", "CONV_ID") { error, timestamp ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */ } ?:
error?.let {/* Handle generic Error */ }
timestamp?.let { /* Message seen sent at timestamp */ }
}
client.sendMessageSeenEvent("EVENT_ID", "CONV_ID") { error, timestamp in
...
}