Android 集成 ZIM SDK 实现聊天消息置顶的功能

ZEGO 即时通讯 SDK(ZIM SDK)2.25.0 版本新增“消息置顶”功能,用户可以将会话中的消息固定在会话顶部,方便会话中的所有用户快速查看重要消息。

本文将简单介绍如何在 Android 平台中集成 ZIM SDK 实现聊天消息置顶的功能。

1. 必备条件

在使用 ZIM SDK 前,请确保开发环境满足以下要求:

  • Android Studio 2020.3.1 或以上版本。
  • Android SDK 25、Android SDK Build-Tools 25.0.2、Android SDK Platform-Tools 25.x.x 或以上版本。
  • Android 4.4 或以上版本的设备或模拟器(推荐使用真机)。
  • 已在 ZEGO 控制台 创建项目,获取到了接入 ZIM SDK 服务所需的 AppID、AppSign。ZIM 服务权限不是默认开启的,使用前,请先在 ZEGO 控制台自助开通 ZIM 服务(详情请参考 项目管理 – 即时通讯),若无法开通 ZIM 服务,请联系 ZEGO 技术支持开通。
  • 集成 ZIM SDK,实现基本收发消息

2. 监听消息置顶状态变更

会话成员注册 setEventHandler 监听 onMessagePinStatusChanged 回调监听消息置顶状态变更的相关通知。当其他用户置顶消息后,可以通过该通知获取置顶消息的状态变化、置顶时间和置顶操作者等相关信息。

示例代码:

// 注册事件
zim.setEventHandler(new ZIMEventHandler() {
    @Override
    public void onMessagePinStatusChanged(ZIM zim, ArrayList<ZIMMessagePinStatusChangeInfo> changeInfoList) {
        // 收到消息置顶状态变更通知后,可于此处获取到置顶的消息/取消置顶的消息以此刷新 UI
    }
});

3. 置顶消息

会话成员可以调用 pinMessage 接口置顶会话内成功发送的消息。

支持置顶的消息类型如下表所示:

  • 文本消息
  • 组合消息
  • 图片消息
  • 文件消息
  • 音频消息
  • 视频消息
  • 合并消息
  • 自定义消息

示例代码:

// 置顶一条文本消息
ZIMTextMessage messageObj; // 从 queryHistoryMessage 接口获取

zim.pinMessage(messageObj, true, new ZIMMessagePinnedCallback() {
    @Override
    public void onMessagePinned(ZIMError errorInfo) {
        // 从这里获知置顶消息的操作是否成功
    }
});

zim.queryPinnedMessageList(conversationID, conversationType, new ZIMPinnedMessageListQueriedCallback() { 
    @Override
    public void onPinnedMessageListQueried(ArrayList<ZIMMessage> messageList, ZIMError errorInfo) { 
        // 从此处获取置顶消息列表
    }
})

消息置顶后可通过 ZIMMessagePinnedCallback 接口获取置顶操作的结果。 会话中存在置顶消息时,会话成员可以通过调用 queryPinnedMessageList 接口查询置顶消息,并通过 ZIMPinnedMessageListQueriedCallback 获取置顶消息列表。

注意

  • 消息置顶仅支持在单聊和群聊会话中调用。
  • 每个会话仅支持支持最多十条消息。尝试置顶第十一条消息时,会自动将置顶时间最早的消息解除置顶。
  • 重复置顶同一条消息会更新其置顶时间。
  • ZIMMessage 消息对象中的 pinnedUserID 和 pinnedTime 仅在 ZIMPinnedMessageListQueriedCallback 和 onMessagePinStatusChanged 中返回
  • 群聊消息置顶和取消置顶操作可通过后台配置是否触发群 Tips 消息推送(默认不触发推送)。配置开启推送后,当群聊会话内有消息被置顶或取消置顶时,群成员会收到消息置顶相关的 TIPS 消息。例如:“XXX置顶了一条消息”。

通过以上步骤即可实现消息置顶功能,此功能可用于将重要的消息固定在会话的顶部,方便会话成员快速查看。如有问题请联系我们👇

Android 集成 ZIM SDK 实现聊天消息置顶的功能

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/im/63815.html

(0)

相关推荐

发表回复

登录后才能评论