消息回应
消息回应(Reaction)功能支持用户对指定消息添加、移除表情回应,并查询消息回应摘要、回应列表及回应用户列表,适用于展示类似“点赞”“表情回应”等互动状态。
重要提示
- 使用消息回应功能,需要 SDK 版本 ≥ 5.42.0。
reactionId为业务自定义回应标识,不超过 16 个字符。开发者可按业务约定使用表情编码、图片资源 ID 或其他唯一标识。- 查询消息回应摘要时,单次最多支持查询 100 条消息;分页查询回应列表或回应用户列表时,单次查询数量有效范围为 1 ~ 50。
监听消息回应变更
当会话内消息回应发生添加、移除或清空时,SDK 会通过 Events.MESSAGE_REACTION_CHANGED 事件通知客户端。通知数据结构参考 IMessageReactionEvent。
JavaScript
RongIMLib.addEventListener(RongIMLib.Events.MESSAGE_REACTION_CHANGED, (evt) => {
evt.reactions.forEach((item) => {
console.log('会话信息:', item.conversationIdentifier);
console.log('消息 UID:', item.messageUId);
console.log('回应 ID:', item.reactionId);
console.log('操作类型:', item.operationType);
console.log('变更用户列表:', item.users);
console.log('回应用户总数:', item.totalCount);
});
});
operationType 取值参考 MessageReactionOperationType:
| 值 | 说明 |
|---|---|
MessageReactionOperationType.ADDED | 添加消息回应 |
MessageReactionOperationType.REMOVED | 移除消息回应 |
MessageReactionOperationType.CLEARED | 清空消息回应 |
添加消息回应
调用 addMessageReaction 接口,可以为指定消息添加回应。参数结构参考 IUpdateMessageReactionParam。
一条消息最多添加 50 个回应信息。超过上限时,接口返回错误码。
接口
JavaScript
RongIMLib.addMessageReaction(param);
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
param | IUpdateMessageReactionParam | 是 | 添加消息回应参数。 |
-
IUpdateMessageReactionParam 说明
参数 类型 必填 说明 conversationIdentifierIConversationOption是 消息所属会话。 messageUIdstring是 消息的唯一 ID。 reactionIdstring是 回应 ID,不超过 16 个字符。 pushConfigIPushConfig否 推送配置。当需要向消息发送者发送推送信息时,可配置该参数。
代码示例
JavaScript
const param = {
conversationIdentifier: {
conversationType: RongIMLib.ConversationType.GROUP,
targetId: '<Group-ID>',
// channelId: '<Channel-ID>' // 超级群频道 ID,非超级群会话可不传
},
messageUId: '<消息 UID>',
reactionId: 'like',
// 如需向消息发送者发送推送,可配置 pushConfig
// pushConfig: {}
};
RongIMLib.addMessageReaction(param).then(({ code }) => {
if (code !== RongIMLib.ErrorCode.SUCCESS) {
console.log('