개요
Overview
When a user creates a one-to-one or group chat, and a message is sent or received in it, a conversation will be created.
In the Chat SDK, the conversation management class is
V2TIMConversationManager(Android)
or V2TIMManager(Conversation)(iOS and macOS)
. You can use the conversation management class APIs to display/update the conversation list, update the unread count, pin a conversation to the top, make a conversation draft, and mute message notifications.Conversation Class
The conversation class is
V2TIMConversation
(Android / iOS and macOS / Windows), which defines the following content:Attribute | Definition | Description |
type | Conversation type | See the definition of V2TIMConversationType , which can be C2C or Group . |
conversationID | Unique conversation ID | It is in the format of c2c_userID for a one-to-one chat or group_groupID for a group chat. |
userID | User ID of the message receiver | userID stores the user ID of the message receiver if the conversation type is one-to-one chat; otherwise, it is empty. |
groupID | Group ID | groupID stores the group ID if the conversation type is group chat; otherwise, it is empty. |
groupType | Group type | groupType is the type of the group if the conversation type is group chat; otherwise, it is empty. |
showName | Displayed conversation name | The name of a group conversation is displayed in the following order of priority: group name > group ID; The name of a one-to-one conversation is displayed in the following order of priority: friend remarks of the message receiver > nickname of the message receiver > userID of the message receiver. |
faceUrl | Displayed conversation profile photo | It is the group profile photo for a group chat or the profile photo of the message receiver for a one-to-one chat. |
unreadCount | Unread message count of the conversation | For detailed directions, see Conversation Unread Count. It is invalid and defaults to 0 for an audio-video group (AVChatRoom). |
recvOpt | Message receiving option | |
lastMessage | Last message in the conversation | |
groupAtInfolist | List of @ information in the group conversation | Generally, it is used to display the notifications of "someone@me" and "@all". |
draftText | Draft information | The draft information can be set by calling the setConversationDraft API. For detailed directions, see Conversation Draft. |
draftTimestamp | Draft editing time | It is automatically generated when a draft is set. |
isPinned | Whether to pin the conversation to the top | |
orderKey | Field for sorting conversations | |
markList | Conversation mark list | |
customData | Custom conversation data | To set custom data, call the setConversationCustomData API. The custom data will be stored on the cloud. Up to 256 bytes are supported. This attribute is supported from v6.5. |
conversationGroupList | List of groups to which the conversation belongs | |
c2cReadTimestamp | Timestamp of the latest message which has been read | Valid only for one-to-one chat. Supported from v7.1. |
groupReadSequence | Sequence of the latest message which has been read | Valid only for group chat. Supported from v7.1. |
Conversation Storage Policy
There is no limit on the number of locally stored conversations.
Up to 100 conversations can be stored in the cloud. To increase this limit, upgrade to the Premium edition. Then you can set the limit to 500 in the console.
If the information of a conversation has not been updated for a long time, the conversation can be stored in the cloud for up to 7 days.
Locally stored conversations may not always be consistent with those stored in the cloud. If you do not call the
deleteConversation
API to delete the local conversations, these conversations will always exist. However, at most 100 conversations can be stored in the cloud. In addition, if the information of a conversation has not been updated for a long time, this conversation can be stored in the cloud for at most 7 days. Therefore, local conversations displayed on different mobile phones may be inconsistent with each other.