使用融云 Web SDK 撤回消息

Posted 融云RongCloud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用融云 Web SDK 撤回消息相关的知识,希望对你有一定的参考价值。

项目根据融云的文档已经完成了简单的聊天功能,现在需要完成的需求是能对发送成功的消息能够撤回

参考文档:https://docs.rongcloud.cn/v4/views/im/noui/guide/private/msgmanage/msgrecall/web.html

参考代码:

var conversation = im.Conversation.get({
targetId: \'接收方的 userId\',
type: RongIMLib.CONVERSATION_TYPE.PRIVATE
});

conversation.recall({
messageUId: \'BH5T-JG24-C445-IKQM\',
sentTime: 1585638211857
}).then(function(message){
console.log(\'撤回消息成功\', message);
});

根据文档集成,完全没有问题,消息能够撤回且原消息将被删除,但是这里有两个问题:

1、获取历史消息时,撤回消息都在最后面,我该如何确认该消息的原位置? 2、当我撤回该消息的最后一条时,获取会话列表数据中的最后一条消息 latestMessage 还是显示之前的撤回消息,这个该怎么处理?

综上的问题,都到融云开发者后台提工单查找了解决方法:

如何确认该消息的原位置:在发送成功的撤回消息中有 sentTime 字段,可以在历史消息中通过比较 sentTime 来确认撤回消息的具体位置

会话列表 latestMessage 显示之前的撤回消息:跟融云的技术人员沟通过后得到的结论是,该问题是融云发现的已知问题,会在下个 SDK 版本修复。我目前使用的 SDK 版本是 3.0.7.1,只能坐等更新啦

总结:希望能帮到碰到同样问题的童鞋,当然在集成的时候看文档还是很重要的,融云有提工单的服务还是蛮不错的,在碰到实在处理不了的问题可以寻求融云的技术人员帮忙,希望融云越做越好

以上是关于使用融云 Web SDK 撤回消息的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 语音云通讯

融云 Web SDK 删除历史消息

融云 IM SDK 发送语音消息

融云 Web SDK 如何实现只有一个设备登入

融云 SDK 新用户入群加载历史消息

一把双刃剑 -- 融云即时通讯sdk中的自定义消息使用心得&指南 (下)