#import <EMConversation.h>
◆ appendMessage:error:
插入一条消息到 SDK 本地数据库会话尾部,消息的 conversationId 应该和会话的 conversationId 一致,消息会被插入 SDK 本地数据库,并且更新会话的 latestMessage 等属性。
- 参数
-
aMessage | 消息实例。 |
pError | 错误信息。 |
◆ deleteAllMessages:
- (void) deleteAllMessages: |
|
(EMError **_Nullable) |
pError |
|
删除 SDK 本地数据库中该会话所有消息,清除 SDK 本地数据库中的消息。
- 参数
-
◆ deleteMessageWithId:error:
- (void) deleteMessageWithId: |
|
(NSString *_Nonnull) |
aMessageId |
error: |
|
(EMError **_Nullable) |
pError |
|
|
| |
从 SDK 本地数据库删除一条消息。
- 参数
-
aMessageId | 要删除消失的 ID。 |
pError | 错误信息。 |
◆ insertMessage:error:
插入一条消息在 SDK 本地数据库,消息的 conversation ID 应该和会话的 conversation ID 一致,消息会根据消息里的时间戳被插入 SDK 本地数据库,并且更新会话的 latestMessage 等属性。
insertMessage 会更新对应 Conversation 里的 latestMessage。
Method EMConversation insertMessage:error: = EMChatManager importMsessage:completion: + update conversation latest message
- 参数
-
aMessage | 消息实例。 |
pError | 错误信息。 |
◆ lastReceivedMessage
收到的对方发送的最后一条消息,也是会话里的最新消息。
- 返回
- 消息实例。
◆ loadCustomMsgWithKeyword:timestamp:count:fromUser:searchDirection:
- (NSArray< EMChatMessage * > *_Nullable) loadCustomMsgWithKeyword: |
|
(NSString *) |
aKeyword |
timestamp: |
|
(long long) |
aTimestamp |
count: |
|
(int) |
aCount |
fromUser: |
|
(NSString *_Nullable) |
aSender |
searchDirection: |
|
(EMMessageSearchDirection) |
aDirection |
|
|
| |
从 SDK 本地数据库获取包含指定内容的自定义类型消息,如果参考的时间戳为负数,则从最新消息向前取,如果 aCount 小于等于 0 当作 1 处理。
同步方法,会阻塞当前线程。
- 参数
-
aKeywords | 关键词。设为 NIL 表示忽略该参数。 |
aTimestamp | 传入的时间戳,单位为毫秒。如果该参数设置的时间戳为负数,则从最新消息向前获取。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aSender | 消息发送方。设为 NIL 表示忽略该参数。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
- 返回
- 消息列表。
◆ loadCustomMsgWithKeyword:timestamp:count:fromUser:searchDirection:completion:
- (void) loadCustomMsgWithKeyword: |
|
(NSString *_Nullable) |
aKeyword |
timestamp: |
|
(long long) |
aTimestamp |
count: |
|
(int) |
aCount |
fromUser: |
|
(NSString *_Nullable) |
aSender |
searchDirection: |
|
(EMMessageSearchDirection) |
aDirection |
completion: |
|
(void(^)(NSArray< EMChatMessage * > *_Nullable aMessages, EMError *_Nullable aError)) |
aCompletionBlock |
|
|
| |
从 SDK 本地数据库获取包含指定内容的自定义类型消息,如果参考的时间戳为负数,则从最新消息向前取,如果 aCount 小于等于 0 当作 1 处理。
- 参数
-
aKeywords | 关键词。设为 NIL 表示忽略该参数。 |
aTimestamp | 传入的 Unix 时间戳,单位为毫秒。如果该参数设置的时间戳为负数,则从最新消息向前获取。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aSender | 消息发送方。设为 NIL 表示忽略该参数。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
◆ loadMessagesFrom:to:count:
- (NSArray< EMChatMessage * > *_Nullable) loadMessagesFrom: |
|
(long long) |
aStartTimestamp |
to: |
|
(long long) |
aEndTimestamp |
count: |
|
(int) |
aCount |
|
|
| |
从 SDK 本地数据库获取指定时间段内的消息,取到的消息按时间排序,为了防止占用太多内存,建议你指定加载消息的最大数。
该方法返回的消息按时间顺序排列。
同步方法,会阻塞当前线程。
- 参数
-
aStartTimestamp | 毫秒级开始时间。 |
aEndTimestamp | 结束时间。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
- 返回
- 消息列表。
◆ loadMessagesFrom:to:count:completion:
- (void) loadMessagesFrom: |
|
(long long) |
aStartTimestamp |
to: |
|
(long long) |
aEndTimestamp |
count: |
|
(int) |
aCount |
completion: |
|
(void(^)(NSArray< EMChatMessage * > *_Nullable aMessages, EMError *_Nullable aError)) |
aCompletionBlock |
|
|
| |
从 SDK 本地数据库获取指定时间段内的消息,取到的消息按时间排序,为了防止占用太多内存,建议你指定加载消息的最大数。
- 参数
-
aStartTimestamp | 毫秒级开始时间。 |
aEndTimestamp | 结束时间。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
◆ loadMessagesStartFromId:count:searchDirection:
- (NSArray< EMChatMessage * > *_Nullable) loadMessagesStartFromId: |
|
(NSString *_Nullable) |
aMessageId |
count: |
|
(int) |
aCount |
searchDirection: |
|
(EMMessageSearchDirection) |
aDirection |
|
|
| |
从 SDK 本地数据库获取指定数量的消息。
取到的消息按时间排序,并且不包含参考的消息,如果传入消息的 ID 为空,则从最新消息取。
同步方法,会阻塞当前线程。
- 参数
-
aMessageId | 传入消息的 ID。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
- 返回
- 消息列表。
◆ loadMessagesStartFromId:count:searchDirection:completion:
- (void) loadMessagesStartFromId: |
|
(NSString *_Nullable) |
aMessageId |
count: |
|
(int) |
aCount |
searchDirection: |
|
(EMMessageSearchDirection) |
aDirection |
completion: |
|
(void(^)(NSArray< EMChatMessage * > *_Nullable aMessages, EMError *_Nullable aError)) |
aCompletionBlock |
|
|
| |
从 SDK 本地数据库获取指定数量的消息。
该方法返回的消息按时间顺序排列。
- 参数
-
aMessageId | 参考消息的 ID。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
◆ loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:
- (NSArray< EMChatMessage * > *_Nullable) loadMessagesWithKeyword: |
|
(NSString *_Nullable) |
aKeyword |
timestamp: |
|
(long long) |
aTimestamp |
count: |
|
(int) |
aCount |
fromUser: |
|
(NSString *_Nullable) |
aSender |
searchDirection: |
|
(EMMessageSearchDirection) |
aDirection |
|
|
| |
从 SDK 本地数据库获取包含指定内容的全部类型的消息,取到的消息按时间排序,如果参考的时间戳为负数,则从最新消息向前取,如果 aCount 小于等于 0 当作 1 处理。
同步方法,会阻塞当前线程。
- 参数
-
aKeywords | 搜索关键词,设为 NIL 表示忽略该参数。 |
aTimestamp | 传入的时间戳,单位为毫秒。如果该参数设置的时间戳为负数,则从最新消息向前获取。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aSender | 消息发送方,设为 NIL 表示忽略该参数。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
- 返回
- 消息列表。
◆ loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:completion:
- (void) loadMessagesWithKeyword: |
|
(NSString *_Nullable) |
aKeyword |
timestamp: |
|
(long long) |
aTimestamp |
count: |
|
(int) |
aCount |
fromUser: |
|
(NSString *_Nullable) |
aSender |
searchDirection: |
|
(EMMessageSearchDirection) |
aDirection |
completion: |
|
(void(^)(NSArray< EMChatMessage * > *_Nullable aMessages, EMError *_Nullable aError)) |
aCompletionBlock |
|
|
| |
从 SDK 本地数据库获取包含指定内容的全部类型的消息,取到的消息按时间排序,如果参考的时间戳为负数,则从最新消息向前取,如果 aCount 小于等于 0 当作 1 处理。
- 参数
-
aKeywords | 关键词。设为 NIL 表示忽略该参数。 |
aTimestamp | 传入的 Unix 时间戳,单位为毫秒。如果该参数设置的时间戳为负数,则从最新消息向前获取。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aSender | 消息发送方。设为 NIL 表示忽略该参数。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
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 |
|
|
| |
从 SDK 本地数据库获取指定类型的消息。
该方法返回的消息按时间顺序排列。
同步方法,会阻塞当前线程。
- 参数
-
aType | 消息类型,txt:文本消息,img:图片消息,loc:位置消息,audio:语音消息,video:视频消息,file:文件消息,cmd: 透传消息。 |
aTimestamp | 当前传入消息的设备时间戳,单位为毫秒。如果该参数设置的时间戳为负数,则从最新消息向前获取。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aUsername | 消息发送方。设为 NIL 表示忽略该参数。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
- 返回
- 消息列表。
◆ loadMessagesWithType:timestamp:count:fromUser:searchDirection:completion:
- (void) loadMessagesWithType: |
|
(EMMessageBodyType) |
aType |
timestamp: |
|
(long long) |
aTimestamp |
count: |
|
(int) |
aCount |
fromUser: |
|
(NSString *_Nullable) |
aUsername |
searchDirection: |
|
(EMMessageSearchDirection) |
aDirection |
completion: |
|
(void(^)(NSArray< EMChatMessage * > *_Nullable aMessages, EMError *_Nullable aError)) |
aCompletionBlock |
|
|
| |
从 SDK 本地数据库获取指定类型的消息,取到的消息按时间排序,如果参考的时间戳为负数,则从最新消息取,如果 aCount 小于等于 0 当作 1 处理。
- 参数
-
aType | 消息类型,txt:文本消息,img:图片消息,loc:位置消息,audio:语音消息,video:视频消息,file:文件消息,cmd: 透传消息。 |
aTimestamp | 当前传入消息的设备时间戳,单位为毫秒。如果该参数设置的时间戳为负数,则从最新消息向前获取。 |
aCount | 获取的消息条数。如果设为小于等于 0,SDK 会将该参数作 1 处理。 |
aUsername | 消息发送方。设为 NIL 表示忽略该参数。 |
aDirection | 消息搜索方向,详见 EMMessageSearchDirection。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
◆ loadMessageWithId:error:
- (EMChatMessage *_Nullable) loadMessageWithId: |
|
(NSString *_Nonnull) |
aMessageId |
error: |
|
(EMError **_Nullable) |
pError |
|
|
| |
从 SDK 本地数据库获取指定 ID 的消息。
- 参数
-
aMessageId | 消息 ID。 |
pError | 错误信息。 |
◆ markAllMessagesAsRead:
- (void) markAllMessagesAsRead: |
|
(EMError **_Nullable) |
pError |
|
将 SDK 本地数据库所有未读消息设置为已读。
- 参数
-
◆ markMessageAsReadWithId:error:
- (void) markMessageAsReadWithId: |
|
(NSString *_Nonnull) |
aMessageId |
error: |
|
(EMError **_Nullable) |
pError |
|
|
| |
将 SDK 本地数据库消息设置为已读。
- 参数
-
aMessageId | 要设置消息的 ID。 |
pError | 错误信息。 |
◆ removeMessagesFromServerMessageIds:completion:
- (void) removeMessagesFromServerMessageIds: |
|
(NSArray< __kindof NSString * > *_Nonnull) |
messageIds |
completion: |
|
(void(^)(EMError *_Nullable aError)) |
aCompletionBlock |
|
|
| |
从会话中删除消息(包括本地存储和服务器存储)。
- 参数
-
messageIds | 要删除消息id字符串数组。 |
completion | 接口回调成功或者失败 |
◆ removeMessagesFromServerWithTimeStamp:completion:
- (void) removeMessagesFromServerWithTimeStamp: |
|
(NSTimeInterval) |
beforeTimeStamp |
completion: |
|
(void(^)(EMError *_Nullable aError)) |
aCompletionBlock |
|
|
| |
从会话中删除消息(包括本地存储和服务器存储)。
- 参数
-
beforeTimeStamp | 要删除哪一条消息之前的消息时间戳。 |
completion | 接口回调成功或者失败 |
◆ updateMessageChange:error:
- (void) updateMessageChange: |
|
(EMChatMessage *_Nonnull) |
aMessage |
error: |
|
(EMError **_Nullable) |
pError |
|
|
| |
更新 SDK 本地数据库的消息。
不能更新消息 ID,消息更新后,会话的 latestMessage 等属性进行相应更新。
- 参数
-
aMessage | 要更新的消息。 |
pError | 错误信息。 |
◆ conversationId
- (NSString*) conversationId |
|
readnonatomiccopy |
会话 ID。 对于单聊类型,会话 ID 同时也是对方用户的名称。 对于群聊类型,会话 ID 同时也是对方群组的 ID,并不同于群组的名称。 对于聊天室类型,会话 ID 同时也是聊天室的 ID,并不同于聊天室的名称。 对于 HelpDesk 类型,会话 ID 与单聊类型相同,是对方用户的名称。
◆ ext
◆ isChatThread
◆ latestMessage
◆ messagesCount
◆ type
- (EMConversationType) type |
|
readnonatomicassign |
◆ unreadMessagesCount
- (int) unreadMessagesCount |
|
readnonatomicassign |
该类的文档由以下文件生成: