Conversation APIs, including the APIs for getting, deleting, and updating conversations
|
abstract void | addConversationListener (V2TIMConversationListener listener) |
|
abstract void | removeConversationListener (V2TIMConversationListener listener) |
|
abstract void | getConversationList (long nextSeq, int count, V2TIMValueCallback< V2TIMConversationResult > callback) |
|
abstract void | getConversation (String conversationID, V2TIMValueCallback< V2TIMConversation > callback) |
|
abstract void | getConversationList (List< String > conversationIDList, V2TIMValueCallback< List< V2TIMConversation >> callback) |
|
abstract void | getConversationListByFilter (V2TIMConversationListFilter filter, long nextSeq, int count, V2TIMValueCallback< V2TIMConversationResult > callback) |
|
abstract void | deleteConversation (String conversationID, V2TIMCallback callback) |
|
abstract void | deleteConversationList (List< String > conversationIDList, boolean clearMessage, V2TIMValueCallback< List< V2TIMConversationOperationResult >> callback) |
|
abstract void | setConversationDraft (String conversationID, String draftText, V2TIMCallback callback) |
|
abstract void | setConversationCustomData (List< String > conversationIDList, String customData, V2TIMValueCallback< List< V2TIMConversationOperationResult >> callback) |
|
abstract void | pinConversation (String conversationID, boolean isPinned, V2TIMCallback callback) |
|
abstract void | markConversation (List< String > conversationIDList, long markType, boolean enableMark, V2TIMValueCallback< List< V2TIMConversationOperationResult >> callback) |
|
abstract void | getTotalUnreadMessageCount (V2TIMValueCallback< Long > callback) |
|
abstract void | getUnreadMessageCountByFilter (V2TIMConversationListFilter filter, V2TIMValueCallback< Long > callback) |
|
abstract void | subscribeUnreadMessageCountByFilter (V2TIMConversationListFilter filter) |
|
abstract void | unsubscribeUnreadMessageCountByFilter (V2TIMConversationListFilter filter) |
|
abstract void | cleanConversationUnreadMessageCount (String conversationID, long cleanTimestamp, long cleanSequence, V2TIMCallback callback) |
|
abstract void | setConversationListener (V2TIMConversationListener listener) |
|
abstract void | createConversationGroup (String groupName, List< String > conversationIDList, V2TIMValueCallback< List< V2TIMConversationOperationResult >> callback) |
|
abstract void | getConversationGroupList (V2TIMValueCallback< List< String >> callback) |
|
abstract void | deleteConversationGroup (String groupName, V2TIMCallback callback) |
|
abstract void | renameConversationGroup (String oldName, String newName, V2TIMCallback callback) |
|
abstract void | addConversationsToGroup (String groupName, List< String > conversationIDList, V2TIMValueCallback< List< V2TIMConversationOperationResult >> callback) |
|
abstract void | deleteConversationsFromGroup (String groupName, List< String > conversationIDList, V2TIMValueCallback< List< V2TIMConversationOperationResult >> callback) |
|
◆ addConversationListener()
1.1 Add the conversation listener
◆ removeConversationListener()
1.2 Remove the conversation listener
◆ getConversationList() [1/2]
1.3 Get the conversation list
- Each conversation corresponds to a chat window. For example, a one-to-one chat or a chat group is a conversation.
- Since there may be a large number of historical conversations, you are advised to call this API in query-by-page mode and pull 100 historical conversations per page at a time.
- This API pulls locally cached conversations. If conversations on the server are updated, the SDK automatically synchronizes the updates internally and then notifies users via V2TIMConversationListener callback.
- If all conversations are pulled, the value of the isFinished field in V2TIMConversationResult in the success callback is true.
- Attention
- Conversation sorting rules
- For 5.5.892 and later versions, conversations on the conversion list obtained by this API are sorted by orderKey by default. The larger the orderKey value, the higher the order of the conversation.
- For versions earlier than 5.5.892, conversations on the conversion list obtained by this API are sorted by "lastMessage -> timestamp" by default. The later the timestamp, the higher the order of the conversation.
- Parameters
-
nextSeq | Pulling-by-page cursor. It is set to 0 when the information is pulled for the first time. The value of this field in the callback for the current paginated pulling is passed in for the next pull. |
count | Number of conversations pulled per page. The value of this field cannot be too large; otherwise, the pulling speed is affected. We recommend that you pull 100 conversations per page. |
◆ getConversation()
1.4 Get a single conversation
- Parameters
-
conversationID | Unique ID of a conversation. For one-to-one chats, the value format is String.format("c2c_%s", "userID"). For group chats, the value format is String.format("group_%s", "groupID"). |
◆ getConversationList() [2/2]
1.5 Get a specified conversation list
- Parameters
-
conversationIDList | List of the unique IDs of conversations. For one-to-one chats, the value format is String.format("c2c_%s", "userID"). For group chats, the value format is String.format("group_%s", "groupID"). |
◆ getConversationListByFilter()
1.6 Get the conversation list (advanced API,supported only in 6.5 and later versions)
- Parameters
-
filter | The conversation filter |
nextSeq | The pulling-by-page cursor |
count | Number of conversations to be pulled per page |
◆ deleteConversation()
abstract void deleteConversation |
( |
String |
conversationID, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
1.7 Delete a conversation
- Parameters
-
conversationID | Unique ID of a conversation. For one-to-one chats, the value format is String.format("c2c_%s", "userID"). For group chats, the value format is String.format("group_%s", "groupID"). |
- Attention
- When a conversation is deleted from local storage, it is also deleted from the server.
- When messages in a conversation are deleted from local storage, they are also deleted from the server.
◆ deleteConversationList()
1.8 Delete a list of conversations (Supported only in 7.1 and later versions)
- Parameters
-
conversationIDList | List of the unique IDs of conversations. For one-to-one chats, the value format is String.format("c2c_%s", "userID"). For group chats, the value format is String.format("group_%s", "groupID"). |
clearMessage | Whether to delete messages in the conversation; if this is set to false, the messages are retained; if this is set to true, the messages will be deleted from local storage and the server and cannot be recovered. |
- Attention
- A maximum of 100 conversations are supported at a time.
◆ setConversationDraft()
abstract void setConversationDraft |
( |
String |
conversationID, |
|
|
String |
draftText, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
1.9 Set a draft for a conversation
- Parameters
-
conversationID | Unique ID of a conversation. For one-to-one chats, the value format is String.format("c2c_%s", "userID"). For group chats, the value format is String.format("group_%s", "groupID"). |
draftText | Draft content. The value null indicates cancelling the draft. |
- Attention
- Drafts are stored only locally. They are not stored on the server and cannot be synchronized across devices. If the app is reinstalled, drafts will be lost.
◆ setConversationCustomData()
1.10 Set conversation custom data(supported only in 6.5 and later versions)
- Parameters
-
customData | Custom data (max 256 bytes) |
◆ pinConversation()
abstract void pinConversation |
( |
String |
conversationID, |
|
|
boolean |
isPinned, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
1.11 Pin a conversion to the top (supported only in 5.3.425 and later versions)
- Parameters
-
conversationID | Unique ID of a conversation. For one-to-one chats, the value format is String.format("c2c_%s", "userID"). For group chats, the value format is String.format("group_%s", "groupID"). |
isPinned | Whether to pin a conversation to the top |
◆ markConversation()
1.12 Mark a conversation(supported only in Chat Premium 6.5 and later versions)
- Parameters
-
conversationIDList | conversation list |
markType | mark type of the conversation. For the valid values, see the V2TIMConversation definition. |
enableMark | true:mark false:unmark |
If existing marks do not meet your needs, you can customize extension marks. Extension marks need to meet the following two conditions:
1、Extended mark values must not conflict with existing mark values in V2TIMConversation
2、Extended mark values must be a 0x1L << n (32 <= n < 64, that is, n must be greater than or equal to 32 and less than 64). For example, you can use the extension mark "0x1L << 32" to mean "iPhone online".
- Attention
- : The extension mark value cannot be set to 0x1 << 32. It must be set to 0x1L << 32, which explicitly tells the compiler that it is a 64-bit integer constant.
◆ getTotalUnreadMessageCount()
1.13 Get the total message unread count of all conversations (supported only in 5.3.425 and later versions)
- Attention
- After you call this API to obtain the total count of unread messages for all conversations, the newest value will be notified to you through the onTotalUnreadMessageCountChanged callback when unread message count of any conversation changed.
- The total unread message count excludes muted conversations (conversations whose message receiving option is V2TIMMessage.V2TIM_NOT_RECEIVE_MESSAGE or V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE or V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE_EXCEPT_AT).
◆ getUnreadMessageCountByFilter()
1.14 Get the total message unread count of conversations by filter (supported only in 7.0 and later versions)
- Parameters
-
filter | conversation filter |
- Attention
- The total unread message count excludes muted conversations (conversations whose message receiving option is V2TIMMessage.V2TIM_NOT_RECEIVE_MESSAGE or V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE or V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE_EXCEPT_AT).
◆ subscribeUnreadMessageCountByFilter()
1.15 Subscribe to changes in the total unread message count for specified conversations (supported only in 7.0 and later versions)
- Parameters
-
filter | conversation filter |
- Attention
- After you call this API, the newest value of total unread message count for conversations that match the filter parameter will be notified to you through the onUnreadMessageCountChangedByFilter callback.
◆ unsubscribeUnreadMessageCountByFilter()
1.16 Unsubscribe from changes in the total unread message count for specified conversations (supported only in 7.0 and later versions)
- Parameters
-
filter | conversation filter |
◆ cleanConversationUnreadMessageCount()
abstract void cleanConversationUnreadMessageCount |
( |
String |
conversationID, |
|
|
long |
cleanTimestamp, |
|
|
long |
cleanSequence, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
1.17 Clear unread messages of a conversation (supported only in 7.1 and later versions)
- Parameters
-
conversationID | Unique ID of a conversation. For one-to-one chats, the value format is String.format("c2c_%s", "userID"). For group chats, the value format is String.format("group_%s", "groupID"). |
cleanTimestamp | The timestamp (seconds) for clearing unread messages (only valid for one-to-one chats). Unread messages before the timestamp will be cleared. If the value is 0, all unread messages of the specified conversation will be cleared, and the unread message count will be set to 0. |
cleanSequence | The sequence for clearing unread messages (only valid for group chats). Unread messages before the specified message sequence will be cleared. If the value is 0, all unread messages of the specified conversation will be cleared, and the unread message count will be set to 0. |
- Attention
- If you want to clear the unread messages of all a one-to-one conversation, set conversationID to "c2c", i.e., don't specify the userID.
- If you want to clear the unread messages of all group conversations, set conversationID to "group", i.e., don't specify the groupID.
- If you want to clear the unread messages of all conversations, set conversationID to "" or null.
- After the API is successfully called, you will receive the onConversationChanged callback that carries the latest unread message number of the corresponding conversation.
◆ setConversationListener()
1.18 Set the conversation listener (This API will be deprecated. Please use addConversationListener and removeConversationListener instead).
◆ createConversationGroup()
2.1 Create a conversation group.
- Parameters
-
groupName | group name(Required, length must be greater than 0, max 32 bytes) |
conversationIDList | conversation ID list(Required, cannot be empty) |
- Attention
- : A maximum of 20 conversation groups are supported. Please delete the groups that are no longer in use.
◆ getConversationGroupList()
2.2 Get a list of conversation groups.
- Attention
- This API pulls locally cached conversation groups. It is recommended to call after onSyncServerFinish.
◆ deleteConversationGroup()
abstract void deleteConversationGroup |
( |
String |
groupName, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
2.3 Delete a conversation group.
◆ renameConversationGroup()
abstract void renameConversationGroup |
( |
String |
oldName, |
|
|
String |
newName, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
2.4 Rename a conversation group.
◆ addConversationsToGroup()
2.5 Add conversations to a group.
◆ deleteConversationsFromGroup()
2.6 Remove conversations from a group.