Flutter

圈组消息缓存

更新时间: 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();
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 前提条件
  • 实现方法
  • 获取消息缓存
  • 清空消息缓存