HyphenateChatSDK  3.9.4
构造函数 | 所有成员列表
<IEMChatManager>协议 参考

#import <IEMChatManager.h>

类 <IEMChatManager> 继承关系图:

构造函数

(void) - addDelegate:delegateQueue:
 
(void) - removeDelegate:
 
(NSArray< EMConversation * > *_Nullable) - getAllConversations
 
(void) - getConversationsFromServer:
 
(EMConversation *_Nullable) - getConversationWithConvId:
 
(EMConversation *_Nullable) - getConversation:type:createIfNotExist:
 
(EMConversation *_Nullable) - getConversation:type:createIfNotExist:isThread:
 
(void) - deleteConversation:isDeleteMessages:completion:
 
(void) - deleteServerConversation:conversationType:isDeleteServerMessages:completion:
 
(void) - deleteConversations:isDeleteMessages:completion:
 
(void) - importConversations:completion:
 
(EMChatMessage *_Nullable) - getMessageWithMessageId:
 
(NSString *_Nullable) - getMessageAttachmentPath:
 
(void) - importMessages:completion:
 
(void) - updateMessage:completion:
 
(void) - sendMessageReadAck:toUser:completion:
 
(void) - sendGroupMessageReadAck:toGroup:content:completion:
 
(void) - ackConversationRead:completion:
 
(void) - recallMessageWithMessageId:completion:
 
(void) - sendMessage:progress:completion:
 
(void) - resendMessage:progress:completion:
 
(void) - downloadMessageThumbnail:progress:completion:
 
(void) - downloadMessageAttachment:progress:completion:
 
(EMCursorResult< EMChatMessage * > *_Nullable) - fetchHistoryMessagesFromServer:conversationType:startMessageId:fetchDirection:pageSize:error:
 
(EMCursorResult< EMChatMessage * > *_Nullable) - fetchHistoryMessagesFromServer:conversationType:startMessageId:pageSize:error:
 
(void) - asyncFetchHistoryMessagesFromServer:conversationType:startMessageId:pageSize:completion:
 
(void) - asyncFetchHistoryMessagesFromServer:conversationType:startMessageId:fetchDirection:pageSize:completion:
 
(void) - asyncFetchGroupMessageAcksFromServer:groupId:startGroupAckId:pageSize:completion:
 
(void) - reportMessageWithId:tag:reason:completion:
 
(void) - sendMessageReadAck:completion:
 
(void) - recallMessage:completion:
 
(void) - deleteMessagesBefore:completion:
 
(void) - translateMessage:targetLanguages:completion:
 
(void) - fetchSupportedLangurages:
 
(void) - addDelegate:
 
("Use -getAllConversations instead") - __deprecated_msg
 
(BOOL) - deleteConversation:deleteMessages:
 
(BOOL) - deleteConversations:deleteMessages:
 
(BOOL) - importConversations:
 
(BOOL) - importMessages:
 
(BOOL) - updateMessage:
 
(void) - asyncSendReadAckForMessage:
 
(void) - asyncSendMessage:progress:completion:
 
(void) - asyncResendMessage:progress:completion:
 
(void) - asyncDownloadMessageThumbnail:progress:completion:
 
(void) - asyncDownloadMessageAttachments:progress:completion:
 
(NSArray< EMChatMessage * > *) - loadMessagesWithType:timestamp:count:fromUser:searchDirection:
 
(void) - loadMessagesWithType:timestamp:count:fromUser:searchDirection:completion:
 
(NSArray< EMChatMessage * > *) - loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:
 
(void) - loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:completion:
 
(void) - addReaction:toMessage:completion:
 
(void) - removeReaction:fromMessage:completion:
 
(void) - getReactionList:groupId:chatType:completion:
 
(void) - getReactionDetail:reaction:cursor:pageSize:completion:
 

详细描述

聊天相关操作代理协议。 消息都是从本地数据库中加载,不是从服务端加载。

函数文档

- ("Use -getAllConversations instead") __deprecated_msg
required

从数据库中获取所有的会话,执行后会更新内存中的会话列表。

同步方法,会阻塞当前线程。

已废弃,请用 getAllConversations 代替。

返回
会话列表。
- (void) ackConversationRead: (NSString *_Nonnull)  conversationId
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

发送会话已读回执。

该方法仅适用于单聊会话。

发送会话已读回执会通知服务器将指定的会话未读消息数置为 0。调用该方法后对方会收到 onConversationRead 回调。 对话方(包含多端多设备)将会在回调方法 EMChatManagerDelegate onConversationRead(String, String) 中接收到回调。

为了减少调用次数,我们建议在进入聊天页面有大量未读消息时调用该方法,在聊天过程中调用 sendMessageReadAck 方法发送消息已读回执。

异步方法。

参数
conversationId会话 ID。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) addDelegate: (3_1_0) 
(3_2_2) 
("Use -IEMChatManager addDelegate:delegateQueue: instead")  EM_DEPRECATED_IOS 
required

添加回调代理。 已废弃,请用 addDelegate:delegateQueue: 代替。

参数
aDelegate要添加的代理。
- (void) addDelegate: (id< EMChatManagerDelegate > _Nullable)  aDelegate
delegateQueue: (dispatch_queue_t _Nullable)  aQueue 
required

添加回调代理。

参数
aDelegate实现代理协议的对象。
aQueue执行代理方法的队列。
- (void) addReaction: (NSString *)  reaction
toMessage: (NSString *)  messageId
completion: (nullable void(^)(EMError *_Nullable))  completion 
required

添加 Reaction。

参数
reactionReaction 内容。
messageId消息 ID。
completion该方法完成的回调。如果有错误会包含错误信息。
- (void) asyncDownloadMessageAttachments: (EMChatMessage *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -downloadMessageAttachment:progress:completion: instead")  __deprecated_msg 
required

下载消息附件(语音,视频,图片原图,文件)。

SDK 会自动下载语音消息,所以除非自动下载语音失败,用户不需要自动下载语音附件。

已废弃,请用 downloadMessageAttachment:progress:completion: 代替。

异步方法。

参数
aMessage消息对象。
aProgressCompletion附件下载进度回调 block。
aCompletion该方法完成的回调,如果失败包含错误信息。
- (void) asyncDownloadMessageThumbnail: (EMChatMessage *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -downloadMessageThumbnail:progress:completion: instead")  __deprecated_msg 
required

下载缩略图(图片消息的缩略图或视频消息的第一帧图片)。

SDK 会自动下载缩略图。如果自动下载失败,你可以调用该方法下载缩略图。

已废弃,请用 downloadMessageThumbnail:progress:completion: 代替。

异步方法。

参数
aMessage消息对象。
aProgressCompletion附件下载进度回调 block。
aCompletion该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) asyncFetchGroupMessageAcksFromServer: (NSString *_Nonnull)  aMessageId
groupId: (NSString *_Nonnull)  aGroupId
startGroupAckId: (NSString *_Nonnull)  aGroupAckId
pageSize: (int)  aPageSize
completion: (void(^)(EMCursorResult< EMGroupMessageAck * > *_Nullable aResult, EMError *_Nullable error, int totalCount))  aCompletionBlock 
required

从服务器获取指定群消息的已读回执,即指定的群消息有多少人已读。

异步方法。

参数
aMessageId要获取的消息 ID。
aGroupId要获取回执对应的群 ID。
aGroupAckId要获取的群回执 ID。
aPageSize获取消息条数。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) asyncFetchHistoryMessagesFromServer: (NSString *_Nonnull)  aConversationId
conversationType: (EMConversationType)  aConversationType
startMessageId: (NSString *_Nullable)  aStartMessageId
fetchDirection: (EMMessageFetchHidtoryDirection)  direction
pageSize: (int)  aPageSize
completion: (void(^)(EMCursorResult< EMChatMessage * > *_Nullable aResult, EMError *_Nullable aError))  aCompletionBlock 
required

从服务器获取指定会话的消息。

异步方法。

参数
aConversationId要获取消息的 Conversation ID。
aConversationType要获取消息的 Conversation type。
aStartMessageId起始消息的 ID。
directionEMMessageFetchHidtoryDirection 向上或者向下
aPageSize获取消息条数。(单次限制最大50条)
aCompletionBlock获取消息结束的 callback。
- (void) asyncFetchHistoryMessagesFromServer: (NSString *_Nonnull)  aConversationId
conversationType: (EMConversationType)  aConversationType
startMessageId: (NSString *_Nullable)  aStartMessageId
pageSize: (int)  aPageSize
completion: (void(^)(EMCursorResult< EMChatMessage * > *_Nullable aResult, EMError *_Nullable aError))  aCompletionBlock 
required

从服务器获取指定会话的消息。

异步方法。

参数
aConversationId要获取消息的 Conversation ID。
aConversationType要获取消息的 Conversation type。
aStartMessageId起始消息的 ID。
aPageSize获取消息条数。
aCompletionBlock获取消息结束的 callback。
- (void) asyncResendMessage: (EMChatMessage *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -resendMessage:progress:completion: instead")  __deprecated_msg 
required

重发送消息。

已废弃,请用 resendMessage:progress:completion: 代替。

异步方法。

参数
aMessage消息对象。
aProgressCompletion附件上传进度回调 block。
aCompletion发送完成回调 block。
- (void) asyncSendMessage: (EMChatMessage *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -sendMessage:progress:completion: instead")  __deprecated_msg 
required

发送消息。

已废弃,请用 sendMessage:progress:completion: 代替。

异步方法。

参数
aMessage消息。
aProgressCompletion附件上传进度回调 block。
aCompletion发送完成回调 block。
- (void) asyncSendReadAckForMessage: ("Use -sendMessageReadAck:completion: instead")  __deprecated_msg
required

发送消息已读回执。

已废弃,请用 sendMessageReadAck:completion: 代替。

异步方法。

参数
aMessage消息。
- (BOOL) deleteConversation: (NSString *)  aConversationId
deleteMessages: ("Use -deleteConversation:isDeleteMessages:completion: instead")  __deprecated_msg 
required

删除会话。

已废弃,请用 deleteConversation:isDeleteMessages:completion: 代替。

参数
aConversationId会话 ID。
aDeleteMessage是否删除会话中的消息。
返回
是否成功。
- (void) deleteConversation: (NSString *_Nonnull)  aConversationId
isDeleteMessages: (BOOL)  aIsDeleteMessages
completion: (void(^)(NSString *_Nullable aConversationId, EMError *_Nullable aError))  aCompletionBlock 
required

从本地数据库中删除一个会话。

参数
aConversationId会话 ID。
aIsDeleteMessages是否删除会话中的消息。
  • YES: 是;
  • NO: 否。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (BOOL) deleteConversations: (NSArray *)  aConversations
deleteMessages: ("Use -deleteConversations:isDeleteMessages:completion: instead")  __deprecated_msg 
required

删除一组会话。

已废弃,请用 deleteConversations:isDeleteMessages:completion: 代替。

参数
aConversations会话列表。
aDeleteMessage是否删除会话中的消息。
返回
是否成功。
- (void) deleteConversations: (NSArray< EMConversation * > *_Nullable)  aConversations
isDeleteMessages: (BOOL)  aIsDeleteMessages
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

删除一组会话。

参数
aConversations会话列表。
aIsDeleteMessages是否删除会话中的消息。
  • YES: 是;
  • NO: 否。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) deleteMessagesBefore: (NSUInteger)  aTimestamp
completion: (void(^)(EMError *error))  aCompletion 
required

删除某个时间点之前的消息。

异步方法。

参数
aTimestamp指定的时间点,Unix 时间戳,单位为毫秒。
aCompletion该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) deleteServerConversation: (NSString *_Nonnull)  aConversationId
conversationType: (EMConversationType)  aConversationType
isDeleteServerMessages: (BOOL)  aIsDeleteServerMessages
completion: (void(^)(NSString *_Nullable aConversationId, EMError *_Nullable aError))  aCompletionBlock 
required

删除服务器会话。

参数
aConversationId会话 ID。
aConversationType会话类型。
aIsDeleteMessages是否同时删除会话中的消息。
  • YES: 是;
  • NO: 否。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) downloadMessageAttachment: (EMChatMessage *_Nonnull)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(EMChatMessage *_Nullable message, EMError *_Nullable error))  aCompletionBlock 
required

下载消息附件(语音、视频、图片原图、文件)。

SDK 会自动下载语音消息。如果自动下载失败,你可以调用该方法。

异步方法。

参数
aMessage消息。
aProgressBlock附件下载进度回调 block。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) downloadMessageThumbnail: (EMChatMessage *_Nonnull)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(EMChatMessage *_Nullable message, EMError *_Nullable error))  aCompletionBlock 
required

下载缩略图(图片消息的缩略图或视频消息的第一帧图片)。

SDK 会自动下载缩略图。如果自动下载失败,你可以调用该方法下载缩略图。

参数
aMessage消息对象。
aProgressBlock附件下载进度回调 block。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (EMCursorResult<EMChatMessage*> *_Nullable) fetchHistoryMessagesFromServer: (NSString *_Nonnull)  aConversationId
conversationType: (EMConversationType)  aConversationType
startMessageId: (NSString *_Nullable)  aStartMessageId
fetchDirection: (EMMessageFetchHidtoryDirection)  direction
pageSize: (int)  aPageSize
error: (EMError **_Nullable)  pError 
required

从服务器获取指定会话的消息。

参数
aConversationId要获取消息的 Conversation ID。
aConversationType要获取消息的 Conversation type。
aStartMessageId起始消息的 ID。
directionEMMessageFetchHidtoryDirection 根据某条消息向上或者向下
aPageSize获取消息条数。
pError错误信息。
返回
获取的消息内容列表。
- (EMCursorResult<EMChatMessage*> *_Nullable) fetchHistoryMessagesFromServer: (NSString *_Nonnull)  aConversationId
conversationType: (EMConversationType)  aConversationType
startMessageId: (NSString *_Nullable)  aStartMessageId
pageSize: (int)  aPageSize
error: (EMError **_Nullable)  pError 
required

从服务器获取指定会话的消息。

参数
aConversationId要获取消息的 Conversation ID。
aConversationType要获取消息的 Conversation type。
aStartMessageId起始消息的 ID。
aPageSize获取消息条数。
pError错误信息。
返回
获取的消息内容列表。
- (void) fetchSupportedLangurages: (void(^)(NSArray< EMTranslateLanguage * > *_Nullable languages, EMError *_Nullable error))  aCompletionBlock
required

获取翻译服务支持的语言。

参数
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (NSArray<EMConversation *> * _Nullable) getAllConversations
required

获取所有会话,如果缓存中不存在会从本地数据库中加载。

返回
会话列表。
- (EMConversation *_Nullable) getConversation: (NSString *_Nonnull)  aConversationId
type: (EMConversationType)  aType
createIfNotExist: (BOOL)  aIfCreate 
required

获取一个会话。

参数
aConversationId会话 ID。
aType会话类型。
aIfCreate如果不存在是否创建。
返回
会话对象。
- (EMConversation *_Nullable) getConversation: (NSString *_Nonnull)  aConversationId
type: (EMConversationType)  aType
createIfNotExist: (BOOL)  aIfCreate
isThread: (BOOL)  isThread 
required

获取一个会话。

参数
aConversationId会话 ID。
aType会话类型。
aIfCreate如果不存在是否创建。
isThread是否是threadChat类型的会话
返回
会话对象。
- (void) getConversationsFromServer: (void(^)(NSArray< EMConversation * > *_Nullable aCoversations, EMError *_Nullable aError))  aCompletionBlock
required

从服务器获取所有会话。

参数
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (EMConversation *_Nullable) getConversationWithConvId: (NSString *_Nullable)  aConversationId
required

从本地数据库中获取一个已存在的会话。

参数
aConversationId会话 ID。
返回
会话对象。
- (NSString * _Nullable) getMessageAttachmentPath: (NSString *_Nonnull)  aConversationId
required

获取一个会话中消息附件的本地路径。

删除会话时,会话中的消息附件也会被删除。

参数
aConversationId会话 ID。
返回
附件路径。
- (EMChatMessage * _Nullable) getMessageWithMessageId: (NSString *_Nonnull)  aMessageId
required

获取指定的消息。

参数
aMessageId消息 ID。
返回
获取到的消息。
- (void) getReactionDetail: (NSString *)  messageId
reaction: (NSString *)  reaction
cursor: (nullable NSString *)  cursor
pageSize: (uint64_t)  pageSize
completion: (void(^)(EMMessageReaction *, NSString *_Nullable cursor, EMError *_Nullable))  completion 
required

分页获取群聊消息的 Reaction 详细列表。

参数
messageId消息 ID。
reactionReaction 内容。
cursor查询的开始位置。首次调用该方法可传 nil@"" 以 Reaction 创建时间的正序获取。
pageSize每页期望返回的 Reaction 数量。该值不能超过 100。
completion该方法完成的回调,返回 Reaction 列表和用于继续获取数据的 cursor。当 cursor 为 nil 时表示已获取全部数据。
- (void) getReactionList: (NSArray< NSString * > *)  messageIds
groupId: (nullable NSString *)  groupId
chatType: (EMChatType)  chatType
completion: (void(^)(NSDictionary< NSString *, NSArray< EMMessageReaction * > * > *, EMError *_Nullable))  completion 
required

获取消息的 Reaction 列表。

参数
messageId消息 ID。
groupId群组 ID,该参数只在群聊生效。
chatType会话类型,仅支持单聊( EMChatTypeChat )和群聊(EMChatTypeGroupChat)。
completion该方法完成的回调。如果有错误会包含错误信息。
- (BOOL) importConversations: ("Use -importConversations:completion: instead")  __deprecated_msg
required

导入一组会话到本地数据库。

已废弃,请用 importConversations:completion: 代替。

参数
aConversations会话列表。
返回
是否成功。
- (void) importConversations: (NSArray< EMConversation * > *_Nullable)  aConversations
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

导入一组会话到本地数据库。

参数
aConversations会话列表。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (BOOL) importMessages: ("Use -importMessages:completion: instead")  __deprecated_msg
required

导入一组消息到本地数据库。

已废弃,请用 importMessages:completion: 代替。

参数
aMessages消息列表。
返回
是否成功。
- (void) importMessages: (NSArray< EMChatMessage * > *_Nonnull)  aMessages
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

导入一组消息到本地数据库。

参数
aMessages消息列表。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (NSArray<EMChatMessage *> *) loadMessagesWithKeyword: (NSString *)  aKeywords
timestamp: (long long)  aTimestamp
count: (int)  aCount
fromUser: (NSString *)  aSender
searchDirection: (EMMessageSearchDirection)  aDirection 
required

通过关键词从数据库获取消息。

该方法返回的消息按时间顺序排列。

同步方法,会阻塞当前线程。

参数
aKeywords关键词。设为 nil 表示忽略该参数。
aTimestamp参考时间戳。如果该参数设置的时间戳为负数,则从最新消息向前获取。
aCount获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。
aSender消息发送方。设为 nil 表示忽略该参数。
aDirection消息搜索方向,详见 MessageSearchDirection
  • UP:按时间逆序。
  • DOWN:按时间顺序。
返回
消息列表。
- (void) loadMessagesWithKeyword: (NSString *)  aKeywords
timestamp: (long long)  aTimestamp
count: (int)  aCount
fromUser: (NSString *)  aSender
searchDirection: (EMMessageSearchDirection)  aDirection
completion: (void(^)(NSArray< EMChatMessage * > *aMessages, EMError *aError))  aCompletionBlock 
required

通过关键词从数据库获取消息。

该方法返回的消息按时间逆序返回排列。

参数
aKeywords搜索关键词,设为 nil 表示忽略该参数。
aTimestamp参考时间戳。如果该参数设置的时间戳为负数,则从最新消息向前获取。
aCount获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。
aSender消息发送方。设为 nil 表示忽略该参数。
aDirection消息搜索方向,详见 MessageSearchDirection
  • UP:按时间逆序。
  • DOWN:按时间顺序。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (NSArray<EMChatMessage *> *) loadMessagesWithType: (EMMessageBodyType)  aType
timestamp: (long long)  aTimestamp
count: (int)  aCount
fromUser: (NSString *)  aUsername
searchDirection: (EMMessageSearchDirection)  aDirection 
required

通过关键词从数据库获取消息。

该方法返回的消息按时间顺序排列。

同步方法,会阻塞当前线程。

参数
aType消息类型。
aTimestamp参考时间戳。如果该参数设置的时间戳为负数,则从最新消息向前获取。
aCount获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。
aUsername消息发送方。设为 nil 表示忽略该参数。
aDirection消息搜索方向,详见 MessageSearchDirection
  • UP:按时间逆序。
  • DOWN:按时间顺序。
返回
消息列表。 <EMChatMessage>
- (void) loadMessagesWithType: (EMMessageBodyType)  aType
timestamp: (long long)  aTimestamp
count: (int)  aCount
fromUser: (NSString *)  aUsername
searchDirection: (EMMessageSearchDirection)  aDirection
completion: (void(^)(NSArray< EMChatMessage * > *aMessages, EMError *aError))  aCompletionBlock 
required

通过关键词从数据库获取消息。

该方法返回的消息按时间顺序排列。

参数
aType消息类型。
aTimestamp参考时间戳。如果该参数设置的时间戳为负数,则从最新消息向前获取。
aCount获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。
aUsername消息发送方。设为 nil 表示忽略该参数。
aDirection消息搜索方向,详见 MessageSearchDirection
  • UP:按时间逆序。
  • DOWN:按时间顺序。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) recallMessage: (EMChatMessage *)  aMessage
completion: (3_3_0) 
(3_6_1) 
("Use - instead")  EM_DEPRECATED_IOS[IEMChatManager recallMessageWithMessageId:completion:] 
required

撤回消息。 已废弃,请用 recallMessageWithMessageId:completion: 代替。 异步方法。

参数
aMessage消息。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) recallMessageWithMessageId: (NSString *_Nonnull)  aMessageId
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

撤回一条消息。

异步方法。

参数
aMessageId消息 ID。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) removeDelegate: (id< EMChatManagerDelegate > _Nonnull)  aDelegate
required

移除回调代理。

参数
aDelegate要移除的代理。
- (void) removeReaction: (NSString *)  reaction
fromMessage: (NSString *)  messageId
completion: (nullable void(^)(EMError *_Nullable))  completion 
required

删除 Reaction。

参数
reactionReaction 内容。
messageId消息 ID。
completion该方法完成的回调。如果有错误会包含错误信息。
- (void) reportMessageWithId: (NSString *_Nonnull)  aMessageId
tag: (NSString *_Nonnull)  aTag
reason: (NSString *_Nonnull)  aReason
completion: (void(^)(EMError *_Nullable error))  aCompletion 
required

举报违规消息

异步方法

参数
aMessageId违规消息id
aTag举报类型
aReason举报原因
aCompletion执行上报结果
- (void) resendMessage: (EMChatMessage *_Nonnull)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(EMChatMessage *_Nullable message, EMError *_Nullable error))  aCompletionBlock 
required

重新发送消息。

参数
aMessage消息对象。
aProgressBlock附件上传进度回调 block。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) sendGroupMessageReadAck: (NSString *_Nonnull)  aMessageId
toGroup: (NSString *_Nonnull)  aGroupId
content: (NSString *_Nullable)  aContent
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

发送群消息已读回执。

异步方法。

参数
aMessageId消息 ID。
aGroupId群组 ID。
aContent消息内容。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) sendMessage: (EMChatMessage *_Nonnull)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(EMChatMessage *_Nullable message, EMError *_Nullable error))  aCompletionBlock 
required

发送消息。

异步方法。

参数
aMessage消息。
aProgressBlock附件上传进度回调。如果该方法调用失败,会包含调用失败的原因。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) sendMessageReadAck: (EMChatMessage *)  aMessage
completion: (3_3_0) 
(3_6_1) 
("Use - instead")  EM_DEPRECATED_IOS[IEMChatManager sendMessageReadAck:toUser:completion:] 
required

发送消息已读回执。 已废弃,请用 sendMessageReadAck:toUser:completion: 代替。 异步方法。

参数
aMessage消息。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) sendMessageReadAck: (NSString *_Nonnull)  aMessageId
toUser: (NSString *_Nonnull)  aUsername
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

发送消息已读回执。

异步方法。

参数
aMessage消息 ID。
aUsername已读接收方。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (void) translateMessage: (EMChatMessage *)  aMessage
targetLanguages: (NSArray< NSString * > *)  aLanguages
completion: (void(^)(EMChatMessage *message, EMError *error))  aCompletionBlock 
required

翻译消息。

参数
aMessage消息对象。
aLanguages目标语言.
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
- (BOOL) updateMessage: ("Use -updateMessage:completion: instead")  __deprecated_msg
required

更新消息到本地数据库。

已废弃,请用 updateMessage:completion: 代替。

参数
aMessage消息。
返回
是否成功。
- (void) updateMessage: (EMChatMessage *_Nonnull)  aMessage
completion: (void(^)(EMChatMessage *_Nullable aMessage, EMError *_Nullable aError))  aCompletionBlock 
required

更新消息到本地数据库,会话中最新的消息会先更新,消息 ID 不会更新。

参数
aMessage消息。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

该协议的文档由以下文件生成: