请教关于已读回执,需要每条消息展示最准确的时间

13764353545 11月前 380

你好,android和ios端需要实现自己的已读回执的功能,这个已读回执需要精确到在群聊中,某一个人精确到时分秒阅读了消息,我们目前实现方式的是,将阅读的消息的用户id,时间放进消息的extra,通过服务器的updatemessagecontent更新消息的extra,推送到别的客户端,从而达到消息已读回执实时刷新的问题。 会出现以下问题: 1:A用户通过请求服务器的updatemessagecontent更新了一条消息,消息成功以后,这条消息会变成未读消息推送到A用户,并且conversationInfo里面的unreadcount会+1 2:因为会不停的去刷新updatemessagecontent,会到服务器的压力剧增

其实,有两个问题需要请教大佬: 1:已读回执的实时精确到某个用户在某个时间点(精确到时分秒),除了绑定到message里面的extra,然后通过请求服务器的updatemessagecontent,是否有别的实现思路(求教) 2:通过请求服务器的updatemessagecontent更新了一条消息里面的extra,可否不把这条消息会变成未读消息推送出来,conversationInfo里面的unreadcount不要+1

最新回复 (4)
  • 13764353545 11月前
    引用 2
    im是专业版
  • HeavyRain 11月前
    引用 3
    不建议updatemessagecontent更新消息的extra,这样会压力爆炸,特别是群组比较大时。

    可以在你们业务服务记录消息的阅读实现,客户端显示时再从这个服务器获取
  • 13764353545 11月前
    引用 4
    1:假如,不用updatemessagecontent更新消息的extra,是否可以通过别的方法实现更新消息的更新消息的extra(需要实时更新消息的extra,很频繁去更新)
    2:如果用我们的业务服务去记录某个用户阅读消息的,客户端也无法实时去更新消息阅读的状态(主要的是需要实时更新这个消息有哪些用户在哪些消息阅读了)

    可否帮忙提供一下实现思路
  • HeavyRain 11月前
    引用 5
    1:假如,不用updatemessagecontent更新消息的extra,是否可以通过别的方法实现更新消息的更新消息的extra(需要实时更新消息的extra,很频繁去更新)
    没有别的办法了,用updatemessagecontent频繁更新容易出问题,而且extra字段也是有固定长度的,如果太大会保存失败,还有造成消息内容太大
    2:如果用我们的业务服务去记录某个用户阅读消息的,客户端也无法实时去更新消息阅读的状态(主要的是需要实时更新这个消息有哪些用户在哪些消息阅读了)
    可以用状态消息通知在线用户消息阅读状态的变更
返回