媒体消息的播放状态是存在本地还是服务器?

BiDoctor 5小时前 22

播放语音消息时,调用ChatManager.Instance().setMediaMessagePlayed(message.message.messageId); 拉取了远程消息,message.message.status始终是 !MessageStatus.Played

最新回复 (5)
  • BiDoctor 4小时前
    引用 2
    经测试iOS版本的协议栈拉取远程消息后会对比本地存储的消息进行选择性存储,而Android版本的直接覆盖存储,导致本地存储的已播放状态被更新为未播放状态
  • HeavyRain 3小时前
    引用 3
    android和iOS协议栈使用的是同一个协议栈。如果行为不一致,可能是不同时期版本造成的。可以都更新到最新看看结果
  • HeavyRain 3小时前
    引用 4
    播放状态是存储在本地的,没有往服务器同步
  • HeavyRain 3小时前
    引用 5
    野火的设计是,只要当本地消息被全部加载,才回去服务器同步远程消息。远程消息如果是播放类的消息,因为没有服务器保存已播放状态,所以就会变成未播放状态
  • BiDoctor 3小时前
    引用 6
    因为进群需要拉取进群前的历史消息,需要拉取一下远程消息,再获取本地消息显示UI。这个过程播放状态被更新为未播放状态。我们这边如何做才能把播放状态同步到服务器。是否可以通过更新消息内容的扩展字段实现?客户端api好像只能更新自己发送的消息
返回