一、功能描述
注意:说明:
注意:仅 IM Flutter sdk 4.0.0 及以上版本支持。
二、变更消息
会话参与者可以调用 modifyMessage(点击查看详情) 接口对会话里的消息做二次修改。
修改消息时,IM SDK 仅限制了会话参与者才能修改,如果你需要更多限制,例如限制只有消息发送者才能修改,可以自行在业务层处理。
目前消息支持修改的信息如下:
·localCustomData (点击查看详情)
·localCustomInt (点击查看详情)
·cloudCustomData (点击查看详情)
·V2TIMTextElem (点击查看详情)
·V2TIMCustomElem (点击查看详情)
示例代码如下:
// 查找到需要修改的消息V2TimValueCallback<List<V2TimMessage>> msgListRes = await TencentImSDKPlugin.v2TIMManager.getMessageManager().findMessages(messageIDList: ['msgid']);// 编辑消息 if(msgListRes.code == 0){ List<V2TimMessage> messageList = msgListRes.data; if(messageList.isNotEmpty){ V2TimMessage originMessage = messageList[0]; originMessage.cloudCustomData = "change data"; V2TimValueCallback<V2TimMessageChangeInfo> modify = await TencentImSDKPlugin.v2TIMManager.getMessageManager().modifyMessage(message: originMessage); if(modify.code == 0){ if(modify.data.code ==0){ // 修改成功 } } } }
三、监听消息变更回调
会话的参与者调用 addAdvancedMsgListener (点击查看详情) 添加高级消息监听器。
当会话里的消息被修改后,会话的参与者都会收到 onRecvMessageModified(点击查看详情) 回调,回调里面会携带修改之后的消息对象。
示例代码如下:
onRecvMessageModified: (V2TimMessage message) { // msg 为被修改之后的消息对象},