历史消息
Update:
本文主要介绍 云上曲率即时通讯IM SDK的消息历史功能。
功能描述
云上曲率IM SDK为开发者提供如下内容:
- 支持单条、批量历史消息的获取
- 支持P2P聊天、群组聊天、房间聊天历史的获取
- 可以自定义拉取方式,如按指定消息ID、指定时间范围等
- 默认从服务端拉取历史消息
接口说明
批量获取历史消息
云上IM SDK提供获取批量历史消息的接口:
getHistoryChatMessageByMessageId
提供以messageId
为索引的批量历史消息获取
getHistoryChatMessage
提供以cursorId
为索引的批量历史消息获取
getHistoryChatMessageByMessageId
接口参数说明:
参数
含义
说明
tatgetId
发送消息的目标ID
由conversationType
确定 userId/groupId/roomId
desc
降序
true为降序排列,false为升序排列,默认为true,即向选择的messageId
往前获取
count
数量
单页获取历史消息的数量,最多20条
beginMsec
开始时间戳
获取消息的开始时间,可以默认为0,第二次查询请传入上次获取历史结果的beginMsec
endMsec
结束时间戳
获取消息的结束时间,可以默认为0,第二次查询请传入上次获取历史结果的endMsec
messageId
消息ID
消息ID唯一
conversationType
会话类型
包括P2P、群组和房间
timeout
超时时间
发送消息定义的超时时间,单位为秒
-
建议messageId
与beginMsec
/endMsec
分开使用。
- 使用
messageId
获取消息,是消息ID大于messageId
的消息。
- 使用
beginMsec
/endMsec
获取消息,是在beginMsec
/endMsec
实践范围区间产生的消息(闭区间)。
代码示例
-(void)getHistoryChatMessageByMessageId:(NSNumber * _Nonnull)targetId
desc:(BOOL)desc
count:(NSNumber * _Nonnull)count
beginMsec:(NSNumber * _Nullable)beginMsec
endMsec:(NSNumber * _Nullable)endMsec
messageId:(NSNumber * _Nonnull)messageId
conversationType:(LDConversationType)conversationType
timeout:(int)timeout
success:(void(^)(IMHistory* _Nullable history))successCallback
fail:(IMAnswerFailCallBack)failCallback;
getHistoryChatMessage
接口参数说明:
参数
含义
说明
tatgetId
发送消息的目标ID
由conversationType
确定 userId/groupId/roomId
desc
降序
true为降序排列,false为升序排列,默认为true,即向选择的messageId
往前获取
count
数量
单次获取历史消息的数量
beginMsec
开始时间戳
获取消息的开始时间,可以默认为0,第二次查询请传入上次获取历史结果的beginMsec
endMsec
结束时间戳
获取消息的结束时间,可以默认为0,第二次查询请传入上次获取历史结果的endMsec
lastCursorId
游标ID
消息在服务端数据库中的唯一ID
conversationType
会话类型
包括P2P、群组和房间
timeout
超时时间
发送消息定义的超时时间,单位为秒
-
建议lastCursorId
与beginMsec
/endMsec
分开使用。
- 使用
lastCursorId
获取消息,是cursorId
大于lastCursorId
的消息。
- 使用
beginMsec
/endMsec
获取消息,是在beginMsec
/endMsec
实践范围区间产生的消息(闭区间)。
代码示例
-(void)getHistoryChatMessage:(NSNumber * _Nonnull)targetId
desc:(BOOL)desc
count:(NSNumber * _Nonnull)count
beginMsec:(NSNumber * _Nullable)beginMsec
endMsec:(NSNumber * _Nullable)endMsec
lastCursorId:(NSNumber * _Nullable)lastCursorId
conversationType:(LDConversationType)conversationType
timeout:(int)timeout
success:(void(^)(IMHistory* _Nullable history))successCallback
fail:(IMAnswerFailCallBack)failCallback;
本文主要介绍 云上曲率即时通讯IM SDK的消息历史功能。
功能描述
云上曲率IM SDK为开发者提供如下内容:
- 支持单条、批量历史消息的获取
- 支持P2P聊天、群组聊天、房间聊天历史的获取
- 可以自定义拉取方式,如按指定消息ID、指定时间范围等
- 默认从服务端拉取历史消息
接口说明
批量获取历史消息
云上IM SDK提供获取批量历史消息的接口:
getHistoryChatMessageByMessageId
提供以messageId
为索引的批量历史消息获取getHistoryChatMessage
提供以cursorId
为索引的批量历史消息获取
getHistoryChatMessageByMessageId
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
tatgetId | 发送消息的目标ID | 由conversationType 确定 userId/groupId/roomId |
desc | 降序 | true为降序排列,false为升序排列,默认为true,即向选择的messageId 往前获取 |
count | 数量 | 单页获取历史消息的数量,最多20条 |
beginMsec | 开始时间戳 | 获取消息的开始时间,可以默认为0,第二次查询请传入上次获取历史结果的beginMsec |
endMsec | 结束时间戳 | 获取消息的结束时间,可以默认为0,第二次查询请传入上次获取历史结果的endMsec |
messageId | 消息ID | 消息ID唯一 |
conversationType | 会话类型 | 包括P2P、群组和房间 |
timeout | 超时时间 | 发送消息定义的超时时间,单位为秒 |
-
建议
messageId
与beginMsec
/endMsec
分开使用。- 使用
messageId
获取消息,是消息ID大于messageId
的消息。 - 使用
beginMsec
/endMsec
获取消息,是在beginMsec
/endMsec
实践范围区间产生的消息(闭区间)。
- 使用
代码示例
-(void)getHistoryChatMessageByMessageId:(NSNumber * _Nonnull)targetId
desc:(BOOL)desc
count:(NSNumber * _Nonnull)count
beginMsec:(NSNumber * _Nullable)beginMsec
endMsec:(NSNumber * _Nullable)endMsec
messageId:(NSNumber * _Nonnull)messageId
conversationType:(LDConversationType)conversationType
timeout:(int)timeout
success:(void(^)(IMHistory* _Nullable history))successCallback
fail:(IMAnswerFailCallBack)failCallback;
getHistoryChatMessage
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
tatgetId | 发送消息的目标ID | 由conversationType 确定 userId/groupId/roomId |
desc | 降序 | true为降序排列,false为升序排列,默认为true,即向选择的messageId 往前获取 |
count | 数量 | 单次获取历史消息的数量 |
beginMsec | 开始时间戳 | 获取消息的开始时间,可以默认为0,第二次查询请传入上次获取历史结果的beginMsec |
endMsec | 结束时间戳 | 获取消息的结束时间,可以默认为0,第二次查询请传入上次获取历史结果的endMsec |
lastCursorId | 游标ID | 消息在服务端数据库中的唯一ID |
conversationType | 会话类型 | 包括P2P、群组和房间 |
timeout | 超时时间 | 发送消息定义的超时时间,单位为秒 |
-
建议
lastCursorId
与beginMsec
/endMsec
分开使用。- 使用
lastCursorId
获取消息,是cursorId
大于lastCursorId
的消息。 - 使用
beginMsec
/endMsec
获取消息,是在beginMsec
/endMsec
实践范围区间产生的消息(闭区间)。
- 使用
代码示例
-(void)getHistoryChatMessage:(NSNumber * _Nonnull)targetId
desc:(BOOL)desc
count:(NSNumber * _Nonnull)count
beginMsec:(NSNumber * _Nullable)beginMsec
endMsec:(NSNumber * _Nullable)endMsec
lastCursorId:(NSNumber * _Nullable)lastCursorId
conversationType:(LDConversationType)conversationType
timeout:(int)timeout
success:(void(^)(IMHistory* _Nullable history))successCallback
fail:(IMAnswerFailCallBack)failCallback;