Pin Conversations
The SDK provides an interface to set whether a conversation is pinned. The pinned status will be synchronized to the server, and the pinned status will also be synchronized when switching devices.
Set Conversation Pin Status
Method
Future<int> changeConversationTopStatus(RCIMIWConversationType type, String targetId, String? channelId, bool top, {IRCIMIWChangeConversationTopStatusCallback? callback});
Parameter Description
Parameter | Type | Description |
---|---|---|
type | RCIMIWConversationType | Conversation type |
targetId | String | Conversation ID |
channelId | String | Channel ID, only supported for ultra groups. Pass null for other conversation types. |
top | bool | Whether to pin |
callback | IRCIMIWChangeConversationTopStatusCallback | Event callback. The SDK supports callback mode starting from version 5.3.1. Other callback modes for this interface are deprecated starting from version 5.4.0. If the callback parameter is provided, only the callback will be triggered. |
Return Value
Return Value | Description |
---|---|
Future<int> | The status code of the current interface operation. 0 indicates a successful call. The specific result needs to be implemented in the interface callback. Non-zero indicates that the current interface call operation failed, and the interface callback will not be triggered. For detailed errors, refer to the error codes. |
Code Example
IRCIMIWChangeConversationTopStatusCallback? callback = IRCIMIWChangeConversationTopStatusCallback(onConversationTopStatusChanged: (int? code) {
//...
});
int? ret = await engine?.changeConversationTopStatus(type, targetId, channelId, top, callback:callback);
Callback Method
- onConversationTopStatusChanged
Function(int? code, RCIMIWConversationType? type, String? targetId, String? channelId, bool? top)? onConversationTopStatusChanged;
Parameter Description
Parameter | Type | Description |
---|---|---|
code | int | The status code of the interface callback. 0 indicates success, non-zero indicates an exception. |
type | RCIMIWConversationType | Conversation type |
targetId | String | Conversation ID |
channelId | String | Channel ID, only supported for ultra groups. Pass null for other conversation types. |
top | bool | Whether to pin |
Code Example
engine?.onConversationTopStatusChanged = (int? code, RCIMIWConversationType? type, String? targetId, String? channelId, bool? top) {
//...
};
Get Conversation Pin Status
Use this method to get the pin status of a specified conversation.
Method
Future<int> getConversationTopStatus(RCIMIWConversationType type, String targetId, String? channelId, {IRCIMIWGetConversationTopStatusCallback? callback});
Parameter Description
Parameter | Type | Description |
---|---|---|
type | RCIMIWConversationType | Conversation type |
targetId | String | Conversation ID |
channelId | String | Channel ID, only supported for ultra groups. Pass null for other conversation types. |
callback | IRCIMIWGetConversationTopStatusCallback | Event callback. The SDK supports callback mode starting from version 5.3.1. Other callback modes for this interface are deprecated starting from version 5.4.0. If the callback parameter is provided, only the callback will be triggered. |
Return Value
Return Value | Description |
---|---|
Future<int> | The status code of the current interface operation. 0 indicates a successful call. The specific result needs to be implemented in the interface callback. Non-zero indicates that the current interface call operation failed, and the interface callback will not be triggered. For detailed errors, refer to the error codes. |
Code Example
IRCIMIWGetConversationTopStatusCallback? callback = IRCIMIWGetConversationTopStatusCallback(onSuccess: (bool? t) {
//...
}, onError: (int? code) {
//...
});
int? ret = await engine?.getConversationTopStatus(type, targetId, channelId, callback:callback);
Callback Method
- onConversationTopStatusLoaded
Function(int? code, RCIMIWConversationType? type, String? targetId, String? channelId, bool? top)? onConversationTopStatusLoaded;
Parameter Description
Parameter | Type | Description |
---|---|---|
code | int | The status code of the interface callback. 0 indicates success, non-zero indicates an exception. |
type | RCIMIWConversationType | Conversation type |
targetId | String | Conversation ID |
channelId | String | Channel ID, only supported for ultra groups. Pass null for other conversation types. |
top | bool | Whether to pin |
Code Example
engine?.onConversationTopStatusLoaded = (int? code, RCIMIWConversationType? type, String? targetId, String? channelId, bool? top) {
//...
};
Get Pinned Conversation List
Get the list of pinned conversations.
Method
Future<int> getTopConversations(List<RCIMIWConversationType> conversationTypes, String? channelId, {IRCIMIWGetTopConversationsCallback? callback});
Parameter Description
Parameter | Type | Description |
---|---|---|
conversationTypes | List<RCIMIWConversationType> | Collection of conversation types |
channelId | String | Channel ID, only supported for ultra groups. Pass null for other conversation types. |
callback | IRCIMIWGetTopConversationsCallback | Event callback. The SDK supports callback mode starting from version 5.3.1. Other callback modes for this interface are deprecated starting from version 5.4.0. If the callback parameter is provided, only the callback will be triggered. |
Return Value
Return Value | Description |
---|---|
Future<int> | The status code of the current interface operation. 0 indicates a successful call. The specific result needs to be implemented in the interface callback. Non-zero indicates that the current interface call operation failed, and the interface callback will not be triggered. For detailed errors, refer to the error codes. |
Code Example
IRCIMIWGetTopConversationsCallback? callback = IRCIMIWGetTopConversationsCallback(onSuccess: (List<RCIMIWConversation>? t) {
//...
}, onError: (int? code) {
//...
});
int? ret = await engine?.getTopConversations(conversationTypesInt, channelId, callback:callback);
Callback Method
- onTopConversationsLoaded
Function(int? code, List<RCIMIWConversationType>? conversationTypes, String? channelId, List<RCIMIWConversation>? conversations)? onTopConversationsLoaded;
Parameter Description
Parameter | Type | Description |
---|---|---|
code | int | The status code of the interface callback. 0 indicates success, non-zero indicates an exception. |
conversationTypes | List<RCIMIWConversationType> | Collection of conversation types |
channelId | String | Channel ID, only supported for ultra groups. Pass null for other conversation types. |
conversations | List<RCIMIWConversation> | Loaded collection of conversations |
Code Example
engine?.onTopConversationsLoaded = (int? code, List<RCIMIWConversationType>? conversationTypes, String? channelId, List<RCIMIWConversation>? conversations) {
//...
};
Pin Status Synchronization
The SDK provides a conversation status (pinned or do not disturb) synchronization mechanism. By setting a conversation status synchronization listener, when the conversation status is modified on another device, the change in conversation status can be monitored in real-time on this device.
Method
Function(RCIMIWConversationType? type, String? targetId, String? channelId, bool? top)? onConversationTopStatusSynced;
Parameter Description
Parameter | Type | Description |
---|---|---|
type | RCIMIWConversationType | Conversation type |
targetId | String | Conversation ID |
channelId | String | Channel ID, only supported for ultra groups. Pass null for other conversation types. Channel ID, only supported for ultra groups. Pass null for other conversation types. |
top | bool | Whether to pin |
Code Example
engine?.onConversationTopStatusSynced = (RCIMIWConversationType? type, String? targetId, String? channelId, bool? top) {
//...
};