EMChatManager class

聊天管理类,该类负责管理会话(加载,删除等)、发送消息、下载消息附件等。

比如,发送一条文本消息:

   EMMessage msg = EMMessage.createTxtSendMessage(
       targetId: toChatUsername, content: content);
   await EMClient.getInstance.chatManager.sendMessage(msg);

Constructors

EMChatManager()

Properties

hashCode int
The hash code for this object.
read-onlyinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

Methods

addEventHandler(String identifier, EMChatEventHandler handler) → void
添加事件监听。
addMessageEvent(String identifier, ChatMessageEvent event) → void
添加消息状态监听。
addReaction({required String messageId, required String reaction}) Future<void>
添加 Reaction。
addRemoteAndLocalConversationsMark({required List<String> conversationIds, required ConversationMarkType mark}) Future<void>
标记会话。
clearEventHandlers() → void
清除所有事件监听。
clearMessageEvent() → void
清空所有消息状态监听。
deleteAllMessageAndConversation({bool clearServerData = false}) Future<void>
清空所有会话和会话中的所有消息。 Param clearServerData 是否删除服务端所有会话及其消息:
deleteConversation(String conversationId, {bool deleteMessages = true}) Future<bool>
删除本地会话。
deleteMessagesBefore(int timestamp) Future<void>
根据时间删除本地消息。
deleteRemoteAndLocalConversationsMark({required List<String> conversationIds, required ConversationMarkType mark}) Future<void>
取消标记会话。
deleteRemoteConversation(String conversationId, {EMConversationType conversationType = EMConversationType.Chat, bool isDeleteMessage = true}) Future<void>
删除服务端的指定 ID 的会话和聊天记录。
deleteRemoteMessagesBefore({required String conversationId, required EMConversationType type, required int timestamp}) Future<void>
根据时间 单向删除服务器会话中的消息和本地消息。 Param conversationId 会话 ID。
deleteRemoteMessagesWithIds({required String conversationId, required EMConversationType type, required List<String> msgIds}) Future<void>
根据消息ID 单向删除服务器会话中的消息和本地消息。
downloadAttachment(EMMessage message) Future<void>
下载消息的附件。
downloadMessageAttachmentInCombine(EMMessage message) Future<void>
下载消息的附件。
downloadMessageThumbnailInCombine(EMMessage message) Future<void>
下载消息的缩略图。
downloadThumbnail(EMMessage message) Future<void>
下载消息的缩略图。
fetchCombineMessageDetail({required EMMessage message}) Future<List<EMMessage>>
获取合并消息的详情。
fetchConversation({String? cursor, int pageSize = 20}) Future<EMCursorResult<EMConversation>>
从服务器分页获取会话列表。
fetchConversationListFromServer({int pageNum = 1, int pageSize = 20}) Future<List<EMConversation>>
获取服务器会话列表。
fetchConversationsByOptions({required ConversationFetchOptions options}) Future<EMCursorResult<EMConversation>>
根据会话过滤选项获取服务端的会话。 Param options 会话过滤选项, 详见 ConversationFetchOptions。 Returns 会话列表。 Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError
fetchGroupAcks(String msgId, String groupId, {String? startAckId, int pageSize = 0}) Future<EMCursorResult<EMGroupMessageAck>>
从服务器获取群组消息回执详情。
fetchHistoryMessages({required String conversationId, EMConversationType type = EMConversationType.Chat, int pageSize = 20, EMSearchDirection direction = EMSearchDirection.Up, String startMsgId = ''}) Future<EMCursorResult<EMMessage>>
从服务器分页获取历史消息。
fetchHistoryMessagesByOption(String conversationId, EMConversationType type, {FetchMessageOptions? options, String? cursor, int pageSize = 50}) Future<EMCursorResult<EMMessage>>
根据 FetchMessageOptions 从服务器分页获取指定会话的历史消息。
fetchPinnedConversations({String? cursor, int pageSize = 20}) Future<EMCursorResult<EMConversation>>
分页从服务器获取置顶会话。
fetchPinnedMessages({required String conversationId}) Future<List<EMMessage>>
从服务端获取置顶消息。
fetchReactionDetail({required String messageId, required String reaction, String? cursor, int pageSize = 20}) Future<EMCursorResult<EMMessageReaction>>
获取 Reaction 详情。
fetchReactionList({required List<String> messageIds, required ChatType chatType, String? groupId}) Future<Map<String, List<EMMessageReaction>>>
获取 Reaction 列表。
fetchSupportedLanguages() Future<List<EMTranslateLanguage>>
查询翻译服务支持的语言。
getConversation(String conversationId, {EMConversationType type = EMConversationType.Chat, bool createIfNeed = true}) Future<EMConversation?>
根据指定会话 ID 和会话类型获取会话对象。
getConversationsFromServer() Future<List<EMConversation>>
从服务器获取会话列表。
getEventHandler(String identifier) EMChatEventHandler?
获取事件监听。
getThreadConversation(String threadId) Future<EMConversation?>
根据 thread ID 获取 thread 会话。
getUnreadMessageCount() Future<int>
获取未读消息数。
importMessages(List<EMMessage> messages) Future<void>
将消息导入本地数据库。
loadAllConversations() Future<List<EMConversation>>
获取本地数据库中所有会话。
loadMessage(String messageId) Future<EMMessage?>
从本地数据库获取指定 ID 的消息对象。
loadMessagesWithKeyword(String keywords, {String? sender, int timestamp = -1, int count = 20, MessageSearchScope searchScope = MessageSearchScope.All, EMSearchDirection direction = EMSearchDirection.Up}) Future<List<EMMessage>>
根据消息中的关键词、消息时间戳、要搜索的消息条数、搜索范围和搜索方向从 SDK 本地数据库中搜索指定数量的消息。
markAllConversationsAsRead() Future<void>
把所有的会话都设成已读。
modifyMessage({required String messageId, required EMTextMessageBody msgBody}) Future<EMMessage>
修改消息内容。
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pinConversation({required String conversationId, required bool isPinned}) Future<void>
设置是否置顶会话。
pinMessage({required String messageId}) Future<void>
置顶消息。 Param messageId 消息 ID。
recallMessage(String messageId, {String? ext}) Future<void>
撤回发送成功的消息。
removeEventHandler(String identifier) → void
移除事件监听。
removeMessageEvent(String identifier) → void
移除消息状态监听。
removeReaction({required String messageId, required String reaction}) Future<void>
删除 Reaction。
reportMessage({required String messageId, required String tag, required String reason}) Future<void>
举报消息。
resendMessage(EMMessage message) Future<EMMessage>
重发消息。
searchMsgFromDB(String keywords, {int timestamp = -1, int maxCount = 20, String from = '', EMSearchDirection direction = EMSearchDirection.Up}) Future<List<EMMessage>>
根据传入的参数从本地存储中搜索指定数量的消息。
sendConversationReadAck(String conversationId) Future<void>
发送会话的已读回执,该方法只针对单聊会话。
sendGroupMessageReadAck(String msgId, String groupId, {String? content}) Future<void>
发送群消息已读回执。
sendMessage(EMMessage message) Future<EMMessage>
发消息
sendMessageReadAck(EMMessage message) Future<bool>
发送消息的已读回执,该方法只针对单聊会话。
toString() String
A string representation of this object.
inherited
translateMessage({required EMMessage msg, required List<String> languages}) Future<EMMessage>
翻译一条文本消息。
unpinMessage({required String messageId}) Future<void>
取消置顶消息。
updateMessage(EMMessage message) Future<void>
更新本地消息。

Operators

operator ==(Object other) bool
The equality operator.
inherited