扩展消息
已发送的消息可增加、修改、删除扩展信息。
适用场景:
原始消息增加状态标识的需求,都可使用消息扩展。
- 消息评论需求,可通过设置原始消息扩展信息的方式添加评论信息。
- 礼物领取、订单状态变化需求,通过此功能改变消息显示状态。 例如:向用户发送礼物,默认 为未领取状态,用户点击后可设置消息扩展为已领取状态。
提示
- 每次设置消息扩展将会产生内置通知消息,频繁设置扩展会产生大量消息。
- 仅当发送消息时指定
canIncludeExpansion
值为true
,才可对消息进行扩展。
设置、更新消息扩展信息
updateExpansionForUltraGroupMessage
参数说明
参数 | 类型 | 说明 |
---|---|---|
expansion | Object | 要更新的消息扩展信息键值对,类型是 Object。
|
message | IAReceivedMessage | 通过接收在线消息或拉取历史消息从 IMLib 取得的消息实例 |
代码示例
RongIMLib.updateExpansionForUltraGroupMessage(
{ key1: 'val1', key2: 'val2' },
message
).then((res) => {
if (res.code === 0) {
console.log(res.code, '更新成功')
} else {
console.log(res.code, res.msg)
}
})
删除消息扩展信息
removeExpansionForUltraGroupMessage
参数说明
参数 | 类型 | 说明 |
---|---|---|
keyArray | Array | 消息扩展信息中待删除的 key 的列表,类型是 Array。 |
message | IAReceivedMessage | 通过接收在线消息或拉取历史消息从 IMLib 取得的消息实例 |
代码示例
RongIMLib.removeExpansionForUltraGroupMessage(['key1', 'key2'], message).then(
(res) => {
if (res.code === 0) {
console.log(res.code, '删除成功')
} else {
console.log(res.code, res.msg)
}
}
)
监听消息扩展通知
可通过监听 Events.ULTRA_GROUP_MESSAGE_EXPANSION_UPDATED
事件来捕获消息的扩展信息变更通知。
RongIMLib.addEventListener(RongIMLib.Events.ULTRA_GROUP_MESSAGE_EXPANSION_UPDATED, (messageList) => {
console.log(messageList)
})