Verwalten von Konversationen mit dem 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.
Diese Anleitung beschreibt, wie Sie Gespräche mit dem Vonage Client SDK verwalten. Bevor Sie beginnen, vergewissern Sie sich, dass Sie das SDK zu Ihrer Anwendung hinzugefügt und eine Sitzung erstellt haben (Android, iOS, JS).
A Konversation kann bei der Arbeit mit dem Vonage Client SDK als Chatroom angesehen werden. Ihre Anwendung Benutzer können Konversationen beitreten. Wenn sie einer Konversation beitreten, werden sie ein Mitglied. Die Mitglieder können dann Nachrichten senden und empfangen.
Aktionen wie das Löschen einer Konversation oder eines Ereignisses sind für jeden Benutzer mit einer Konversations-ID möglich. Um zu kontrollieren, welche Benutzer bestimmte Aktionen durchführen können, schränken Sie über ACLs für das JWT.
Eine Konversation führen
Die createConversation Methode können Sie eine Konversation erstellen, indem Sie optional einige Parameter übergeben. Die Namen der Konversationen müssen eindeutig sein. Wenn Sie keinen Konversationsnamen oder Anzeigenamen angeben, wird einer für Sie generiert.
Sie können einstellen:
- Name
- Name anzeigen
- Bild-URL
- TTL
- Benutzerdefinierter Sortierschlüssel
- Benutzerdefinierte Daten
val params = CreateConversationParameters("Conversation","Alice+Bob")
client.createConversation(params) { error, conversationId ->
error?.takeIf { it is VGError }?.let {
// Handle Error in creating Conversation
} ?: error?.let {
// Handle generic Exception
}
conversationId?.let { /* Conversation created */ }
}
let params = VGCreateConversationParameters(name: "Conversation", displayName: "Alice+Bob")
client.createConversation(params) { error, conversationId in
...
}
Konversationen führen
Die getConversations können Sie alle Gespräche abrufen, bei denen der aktuelle Benutzer Mitglied ist. Sie können optional einige Parameter übergeben, um die Antwort zu konfigurieren, andernfalls werden die Standardwerte verwendet. Diese Methode gibt eine paginierte Antwort zurück. Wenn Sie mit der Paginierung nicht vertraut sind, sehen Sie sich die Paginierungsanleitung.
Sie können einstellen:
- Bestellung
- Größe der Seite
- Ein Cursor
- Ob benutzerdefinierte Daten einbezogen werden sollen
- Was zu bestellen ist bis
val params = GetConversationsParameters(
order = PresentingOrder.DESC,
pageSize = 10,
)
client.getConversations(params) { error, conversationsPage ->
err?.let { /* Handle Error in fetching Conversations */ }
conversationsPage?.let {
val nextCursor = it.nextCursor
it.conversations.forEach {conversation ->
println("Conversation id: ${conversation.id}, name: ${conversation.name}, display name: ${conversation.displayName}")
}
}
}
let params = VGGetConversationsParameters(order: .asc, pageSize: 100)
client.getConversations(params) { error, conversationsPage in
if error == nil {
let conversations = conversationsPage!.conversations
} else {
// Handle failure
}
}
Ein Gespräch beginnen
Mit einer Gesprächs-ID können Sie ein Gesprächsobjekt abrufen.
client.getConversation("CONV_ID") { error, conversation ->
error?.let { /* Handle Error in fetching Conversation */ }
conversation?.let { /*Conversation received.*/ }
}
client.getConversation("CONV_ID") { error, conversation in
...
}
Aktualisieren einer Konversation
Die updateConversation Methode ermöglicht es Ihnen, die Eigenschaften Ihrer Konversation zu aktualisieren. Sie können einige Parameter mit 3 Optionen übergeben:
- Auslassen eines Wertes - Es gibt keine Änderung in der Konversation.
- Die Bereitstellung eines Wertes (
VGOption.some()auf Android und iOS) - Der Wert wird in der Konversation aktualisiert. - Weitergabe
null(VGOption.some(null/nil)auf Android und iOS) - Der Wert wird auf null oder den Standardwert der Konversation gesetzt.
Sie können diese Konversationseigenschaften aktualisieren:
- Name
- Name anzeigen
- Bild-URL
- TTL
- Benutzerdefinierter Sortierschlüssel
- Benutzerdefinierte Daten
// Update the conversation displayName and remove the imageUrl
val params = UpdateConversationParameters(displayName = Option.Some("New Display Name"),
imageUrl = Option.Some(null))
client.updateConversation("CONV_ID", params) { err, conversationId ->
if(err == null){
storedConversation = conversationId
} else {
// Handle error
}
}
// Update the conversation displayName and remove the imageUrl
let params = VGUpdateConversationParameters(displayName: .some(value: "New Display Name"),
imageUrl: .some(value: nil))
client.updateConversation("CONV_ID", parameters: params) { error, conversationId in
if error == nil {
storedConversation = conversationId
} else {
// Handle failure
}
}
Die Ereignisse einer Konversation
Mit einer Gesprächs-ID können Sie die Ereignisse eines Gesprächs abrufen. Sie können optional einige Parameter übergeben, um die Antwort zu konfigurieren, andernfalls werden die Standardwerte verwendet. Diese Methode gibt eine paginierte Antwort zurück. Wenn Sie mit der Paginierung nicht vertraut sind, sehen Sie sich die Paginierungsanleitung.
Sie können einstellen:
- Bestellung
- Größe der Seite
- Ein Cursor
- Ereignisse zum Filtern nach
- Ob gelöschte Ereignisse einbezogen werden sollen
val params = GetConversationEventsParameters(PresentingOrder.ASC, 100)
client.getConversationEvents("CONV_ID", params) { error, eventsPage ->
error?.let { /* Handle Error in fetching Conversation Events */ }
eventsPage?.let {
it.events.forEach { event ->
//Process events
}
}
}
let params = VGGetConversationEventsParameters(order: .asc, pageSize: 100)
client.getConversationEvents("CONV_ID", parameters: params) { error, eventsPage in
if error == nil {
let events = eventsPage!.events
} else {
// Handle failure
}
}
Löschen von Ereignissen einer Konversation
Mit einer Ereignis-ID und einer Gesprächs-ID können Sie ein Ereignis löschen.
client.deleteEvent("EVENT_ID", "CONV_ID") { error ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */ } ?:
error?.let {/* Handle generic Error */ }
}
client.deleteEvent("EVENT_ID", conversationId: "CONV_ID") { error in
if error != nil {
// Handle failure
}
}
Löschen einer Konversation
Mit einer Gesprächs-ID können Sie ein Gespräch löschen.
client.deleteConversation("CONV_ID") { error ->
error?.takeIf { it is VGError }?.let {/* Handle Vonage Error */} ?:
error?.let {/* Handle generic Error */}
/* Conversation Deleted */
}
client.deleteConversation("CONV_ID") { error in
...
}