https://bbs.wildfirechat.cn/thread-2924.htm 继续这个话题: 我们想了一个办法供参考,需要2步来完成这个工作: 1,当有新内容时,调用更新消息接口来更新消息。这一步完成之后,如果消息已经读过了,消息不会变成未读的。 2,针对还是已读的情况,需要自定义一个不存储的消息,里面包含这条消息的UID,当客户端收到这条消息后把这条消息改成未读,或者把会话标记为未读
总结一下,服务调用机器人接口先更改一下提醒消息内容,再发一个命令(自定义不存储消息)让客户端把这条消息标记为未读
提问: 请问下前端SDK有没有能实现这个的方法?
参考了markAsUnread的方法
把某条消息改成未读
在消息收到的回调里做处理,IM的api调用成功了,但会话的未读数也没有+1
有2个问题请教下: 1.上面代码有什么问题吗? 2.假设某个会话机器人发出的A、B、C三条消息(A的消息类型是1003,B、C的消息类型是1004),都已读了,客户端怎么把A这条消息改成未读?
updateMessage:status: 更新消息内容。只更新本地消息内容,无法更新服务器和远端。 把消息改成未读,需求是要更新到远端的,这个方式可能不满足需求。
HeavyRain 或者更简单的办法是让服务器端先调用删除,再重新发个新消息
周大侠 机器人消息现在有提供删除消息接口吗,是否支持实现删除重发?
HeavyRain 不要参考markAsUnread的方法,看我1楼的回复: 或者你们自己定义消息,收到后,先通过UID找到消息,再调用updateMessage:status:这个方法把消息改成未读
HeavyRain 机器人没有,server api有
周大侠 自定义一个不存储的消息,切换设备后,登录账号还能再次收到不存储的消息吗
周大侠 机器人可以新增 删除消息 api吗,能否支持一下这个功能
HeavyRain 能
HeavyRain server api可以,但机器人api不能,因为机器人的权限是接近于普通用户,不能支持管理员权限。
周大侠 推送不存储的消息,客户端接收有时效性吗,IM发送给客户端,具体有什么规则,麻烦讲解下,谢谢。我们测了下,IM服务端发送就能收到,过了一会杀掉app后,再次打开就收不到了
周大侠 a、b、c、d四条消息,a、b、c已读,a消息改成未读后,涉及到消息未读数+1的处理,感觉也一些问题。还有在a改成未读后,会话列表能否显示a的这条消息,把a当做最新消息显示出来
获取此会话的最后阅读时间
测试结果:切换设备登录收到不存储消息后,获取此会话的最后阅读时间,并没有>不存储消息的发送时间,还是把1003改成未读
问题:切换设备后,还能再次收到不存储的消息,请问怎么处理?
其他疑问:1.切换设备前,再次点已读这个操作有没有同步到远端? 2.切换设备后获取会话的最后阅读时间是用客户端缓存的时间还是服务端的时间?