HyphenateChatSDK 3.9.9.1
构造函数 | 所有成员列表
<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:
 
(EMConversation *_Nullable) - getConversation:type:createIfNotExist:isThread:isChannel:
 
(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) - deleteMessagesBefore:completion:
 
(void) - removeMessagesFromServerWithConversation:messageIds:completion:
 
(void) - removeMessagesFromServerWithConversation:timeStamp:completion:
 
(void) - translateMessage:targetLanguages:completion:
 
(void) - fetchSupportedLanguages:
 
(NSArray< EMChatMessage * > *_Nullable) - 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:
 

详细描述

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

函数文档

◆ ackConversationRead:completion:

- (void) ackConversationRead: (NSString *_Nonnull)  conversationId
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

发送会话已读回执。

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

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

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

异步方法。

参数
conversationId会话 ID。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ addDelegate:delegateQueue:

- (void) addDelegate: (id< EMChatManagerDelegate > _Nullable)  aDelegate
delegateQueue: (dispatch_queue_t _Nullable)  aQueue 
required

添加回调代理。

参数
aDelegate实现代理协议的对象。
aQueue执行代理方法的队列。

◆ addReaction:toMessage:completion:

- (void) addReaction: (NSString *)  reaction
toMessage: (NSString *)  messageId
completion: (nullable void(^)(EMError *_Nullable))  completion 
required

添加 Reaction。

参数
reactionReaction 内容。
messageId消息 ID。
completion该方法完成的回调。如果有错误会包含错误信息。

◆ asyncFetchGroupMessageAcksFromServer:groupId:startGroupAckId:pageSize:completion:

- (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该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ asyncFetchHistoryMessagesFromServer:conversationType:startMessageId:fetchDirection:pageSize:completion:

- (void) asyncFetchHistoryMessagesFromServer: (NSString *_Nonnull)  aConversationId
conversationType: (EMConversationType)  aConversationType
startMessageId: (NSString *_Nullable)  aStartMessageId
fetchDirection: (EMMessageFetchHistoryDirection)  direction
pageSize: (int)  aPageSize
completion: (void(^)(EMCursorResult< EMChatMessage * > *_Nullable aResult, EMError *_Nullable aError))  aCompletionBlock 
required

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

异步方法。

参数
aConversationId要获取消息的 Conversation ID。
aConversationType要获取消息的 Conversation type。
aStartMessageId起始消息的 ID。
directionEMMessageFetchHistoryDirection 向上或者向下
aPageSize获取消息条数。(单次限制最大50条)
aCompletionBlock获取消息结束的 callback。

◆ asyncFetchHistoryMessagesFromServer:conversationType:startMessageId:pageSize:completion:

- (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。

◆ deleteConversation:isDeleteMessages:completion:

- (void) deleteConversation: (NSString *_Nonnull)  aConversationId
isDeleteMessages: (BOOL)  aIsDeleteMessages
completion: (void(^)(NSString *_Nullable aConversationId, EMError *_Nullable aError))  aCompletionBlock 
required

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

参数
aConversationId会话 ID。
aIsDeleteMessages是否删除会话中的消息。
  • YES: 是;
  • NO: 否。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ deleteConversations:isDeleteMessages:completion:

- (void) deleteConversations: (NSArray< EMConversation * > *_Nullable)  aConversations
isDeleteMessages: (BOOL)  aIsDeleteMessages
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

删除一组会话。

参数
aConversations会话列表。
aIsDeleteMessages是否删除会话中的消息。
  • YES: 是;
  • NO: 否。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ deleteMessagesBefore:completion:

- (void) deleteMessagesBefore: (NSUInteger)  aTimestamp
completion: (void(^)(EMError *error))  aCompletion 
required

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

异步方法。

参数
aTimestamp指定的时间点,Unix 时间戳,单位为毫秒。
aCompletion该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ deleteServerConversation:conversationType:isDeleteServerMessages:completion:

- (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该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ downloadMessageAttachment:progress:completion:

- (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该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ downloadMessageThumbnail:progress:completion:

- (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该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ fetchHistoryMessagesFromServer:conversationType:startMessageId:fetchDirection:pageSize:error:

- (EMCursorResult< EMChatMessage * > *_Nullable) fetchHistoryMessagesFromServer: (NSString *_Nonnull)  aConversationId
conversationType: (EMConversationType)  aConversationType
startMessageId: (NSString *_Nullable)  aStartMessageId
fetchDirection: (EMMessageFetchHistoryDirection)  direction
pageSize: (int)  aPageSize
error: (EMError **_Nullable)  pError 
required

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

参数
aConversationId要获取消息的 Conversation ID。
aConversationType要获取消息的 Conversation type。
aStartMessageId起始消息的 ID。
directionEMMessageFetchHistoryDirection 根据某条消息向上或者向下
aPageSize获取消息条数。
pError错误信息。
返回
获取的消息内容列表。

◆ fetchHistoryMessagesFromServer:conversationType:startMessageId:pageSize:error:

- (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错误信息。
返回
获取的消息内容列表。

◆ fetchSupportedLanguages:

- (void) fetchSupportedLanguages: (void(^)(NSArray< EMTranslateLanguage * > *_Nullable languages, EMError *_Nullable error))  aCompletionBlock
required

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

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

◆ getAllConversations

- (NSArray< EMConversation * > *_Nullable) getAllConversations
required

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

返回
会话列表。

◆ getConversation:type:createIfNotExist:

- (EMConversation *_Nullable) getConversation: (NSString *_Nonnull)  aConversationId
type: (EMConversationType)  aType
createIfNotExist: (BOOL)  aIfCreate 
required

获取一个会话。

参数
aConversationId会话 ID。
aType会话类型。
aIfCreate如果不存在是否创建。
返回
会话对象。

◆ getConversation:type:createIfNotExist:isThread:

- (EMConversation *_Nullable) getConversation: (NSString *_Nonnull)  aConversationId
type: (EMConversationType)  aType
createIfNotExist: (BOOL)  aIfCreate
isThread: (BOOL)  isThread 
required

获取一个会话。

参数
aConversationId会话 ID。
aType会话类型。
aIfCreate如果不存在是否创建。
isThread是否是threadChat类型的会话
返回
会话对象。

◆ getConversation:type:createIfNotExist:isThread:isChannel:

- (EMConversation *_Nullable) getConversation: (NSString *_Nonnull)  aConversationId
type: (EMConversationType)  iType
createIfNotExist: (BOOL)  bIfCreate
isThread: (BOOL)  isThread
isChannel: (BOOL)  isChannel 
required

获取一个会话。

参数
aConversationId会话 ID。
aType会话类型。
aIfCreate如果不存在是否创建。
isThread是否是threadChat类型的会话
isChannel是否是channel类型的会话
返回
会话对象。

◆ getConversationsFromServer:

- (void) getConversationsFromServer: (void(^)(NSArray< EMConversation * > *_Nullable aConversations, EMError *_Nullable aError))  aCompletionBlock
required

从服务器获取所有会话。

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

◆ getConversationWithConvId:

- (EMConversation *_Nullable) getConversationWithConvId: (NSString *_Nullable)  aConversationId
required

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

参数
aConversationId会话 ID。
返回
会话对象。

◆ getMessageAttachmentPath:

- (NSString *_Nullable) getMessageAttachmentPath: (NSString *_Nonnull)  aConversationId
required

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

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

参数
aConversationId会话 ID。
返回
附件路径。

◆ getMessageWithMessageId:

- (EMChatMessage *_Nullable) getMessageWithMessageId: (NSString *_Nonnull)  aMessageId
required

获取指定的消息。

参数
aMessageId消息 ID。
返回
获取到的消息。

◆ getReactionDetail:reaction:cursor:pageSize:completion:

- (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 时表示已获取全部数据。

◆ getReactionList:groupId:chatType:completion:

- (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该方法完成的回调。如果有错误会包含错误信息。

◆ importConversations:completion:

- (void) importConversations: (NSArray< EMConversation * > *_Nullable)  aConversations
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

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

参数
aConversations会话列表。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ importMessages:completion:

- (void) importMessages: (NSArray< EMChatMessage * > *_Nonnull)  aMessages
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

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

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

◆ loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:

- (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:按时间顺序。
返回
消息列表。

◆ loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:completion:

- (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该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ loadMessagesWithType:timestamp:count:fromUser:searchDirection:

- (NSArray< EMChatMessage * > *_Nullable) loadMessagesWithType: (EMMessageBodyType)  aType
timestamp: (long long)  aTimestamp
count: (int)  aCount
fromUser: (NSString *_Nullable)  aUsername
searchDirection: (EMMessageSearchDirection)  aDirection 
required

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

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

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

参数
aType消息类型。
aTimestamp参考时间戳。如果该参数设置的时间戳为负数,则从最新消息向前获取。
aCount获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。
aUsername消息发送方。设为 nil 表示忽略该参数。
aDirection消息搜索方向,详见 MessageSearchDirection
  • UP:按时间逆序。
  • DOWN:按时间顺序。
返回
消息列表。 <EMChatMessage>

◆ loadMessagesWithType:timestamp:count:fromUser:searchDirection:completion:

- (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该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ recallMessageWithMessageId:completion:

- (void) recallMessageWithMessageId: (NSString *_Nonnull)  aMessageId
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

撤回一条消息。

异步方法。

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

◆ removeDelegate:

- (void) removeDelegate: (id< EMChatManagerDelegate > _Nonnull)  aDelegate
required

移除回调代理。

参数
aDelegate要移除的代理。

◆ removeMessagesFromServerWithConversation:messageIds:completion:

- (void) removeMessagesFromServerWithConversation: (EMConversation *_Nonnull)  conversation
messageIds: (NSArray< __kindof NSString * > *_Nonnull)  messageIds
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

从会话中删除消息(包括本地存储和服务器存储)。

参数
conversation会话对象EMConversation
messageIds要删除消息id字符串数组。
completion接口回调成功或者失败

◆ removeMessagesFromServerWithConversation:timeStamp:completion:

- (void) removeMessagesFromServerWithConversation: (EMConversation *_Nonnull)  conversation
timeStamp: (NSTimeInterval)  beforeTimeStamp
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

从会话中删除消息(包括本地存储和服务器存储)。

参数
conversation会话对象EMConversation
beforeTimeStamp要删除哪一条消息之前的消息时间戳。
completion接口回调成功或者失败

◆ removeReaction:fromMessage:completion:

- (void) removeReaction: (NSString *)  reaction
fromMessage: (NSString *)  messageId
completion: (nullable void(^)(EMError *_Nullable))  completion 
required

删除 Reaction。

参数
reactionReaction 内容。
messageId消息 ID。
completion该方法完成的回调。如果有错误会包含错误信息。

◆ reportMessageWithId:tag:reason: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执行上报结果

◆ resendMessage:progress:completion:

- (void) resendMessage: (EMChatMessage *_Nonnull)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(EMChatMessage *_Nullable message, EMError *_Nullable error))  aCompletionBlock 
required

重新发送消息。

参数
aMessage消息对象。
aProgressBlock附件上传进度回调 block。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ sendGroupMessageReadAck:toGroup:content:completion:

- (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该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ sendMessage:progress:completion:

- (void) sendMessage: (EMChatMessage *_Nonnull)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(EMChatMessage *_Nullable message, EMError *_Nullable error))  aCompletionBlock 
required

发送消息。

异步方法。

参数
aMessage消息。
aProgressBlock附件上传进度回调。如果该方法调用失败,会包含调用失败的原因。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ sendMessageReadAck:toUser:completion:

- (void) sendMessageReadAck: (NSString *_Nonnull)  aMessageId
toUser: (NSString *_Nonnull)  aUsername
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 
required

发送消息已读回执。

异步方法。

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

◆ translateMessage:targetLanguages:completion:

- (void) translateMessage: (EMChatMessage *_Nonnull)  aMessage
targetLanguages: (NSArray< NSString * > *_Nonnull)  aLanguages
completion: (void(^)(EMChatMessage *_Nullable message, EMError *_Nullable error))  aCompletionBlock 
required

翻译消息。

参数
aMessage消息对象。
aLanguages目标语言.
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ updateMessage:completion:

- (void) updateMessage: (EMChatMessage *_Nonnull)  aMessage
completion: (void(^)(EMChatMessage *_Nullable aMessage, EMError *_Nullable aError))  aCompletionBlock 
required

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

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

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