圈组消息缓存
更新时间: 2024/03/07 13:11:55
圈组提供消息缓存功能,只需要在初始化时打开设置开关即可调用QChatMessageService
类中提供的相关方法,获取消息缓存或者清空消息缓存。
功能介绍
开启消息缓存后,可以为 100 个频道(QChatChannel
)缓存消息,每个频道最多缓存 20 条。如果超出,则按消息的创建时间淘汰最晚的。
如果单个频道的消息数超过 20,则保留创建时间最新的 20 条消息;如果有消息的频道数超过 100,则对比每个频道中创建时间最晚的消息的创建时间tm
,保留tm
最大的100个频道。
前提条件
已在调用initialize
方法初始化 SDK 时开启圈组的消息缓存开关。
-
Android
初始化时将
NIMAndroidSDKOptions.enabledQChatMessageCache
设置为true
。 -
iOS
初始化时将
NIMIOSSDKOptions.enabledQChatMessageCache
设置为true
。
实现方法
获取消息缓存
调用getMessageCache
方法获取指定频道的消息缓存。
示例代码如下:
dartNimCore.instance.qChatMessageService.getMessageCache(serverId, channelId).then((value) {
if (value.isSuccess) {
// 查询成功
} else {
// 查询失败
}
});
清空消息缓存
调用clearMessageCache
方法可清空指定频道的消息缓存。
示例代码如下:
dartNimCore.instance.qChatMessageService.clearMessageCache();
此文档是否对你有帮助?