openimsdk / open-im-sdk-ios

An OpenIM SDK in Objective-C for iOS
https://openim.io
MIT License
151 stars 140 forks source link

markC2CMessage 标记已读无效 #8

Closed dayu1213 closed 2 years ago

dayu1213 commented 2 years ago

ios调用此API标记消息已读无效,还是显示未读,而且未读消息数目也不会变化

dayu1213 commented 2 years ago

image

dayu1213 commented 2 years ago

这个什么时候能解决啊

frcc00 commented 2 years ago

这个什么时候能解决啊

我更新下core看看

frcc00 commented 2 years ago

1.0.22已提交,麻烦测试下

dayu1213 commented 2 years ago

好像并没有作用,还是不能标记为已读,未读数量也不会变化

frcc00 commented 2 years ago

其他的标记已读方法,有没有用?

dayu1213 commented 2 years ago

其他的可以用,标记对话为已读的就可以,标记组消息已读的也可以,

dayu1213 commented 2 years ago

有进展吗?

dayu1213 commented 2 years ago

这个问题有更新吗?

frcc00 commented 2 years ago

c2c是用于消息已读状态的置位 c2c是接收消息的人调用 未读消息数通过另外一个API改变 markSingleMessageHasRead\markGroupMessageHasRead 调用过后发消息的人会收到另一个回调 OnRecvC2CReadReceipt 通过收到的消息id对当前界面上的消息进行置位

frcc00 commented 2 years ago

你看看有没有帮助

dayu1213 commented 2 years ago

markSingleMessageHasRead这个是标记单个聊天所有消息已读状态的 ,有标记单条消息已读状态的吗?另外c2c是用于消息已读状态的置位是什么意思,这个不是消息接收人标记自己是否已读这条消息吗?如果接受者调用markSingleMessageHasRead,那么c2c还有什么用呢,因为整个聊天的消息状态都被标记为已读了

dayu1213 commented 2 years ago

message的isRead属性,是用来标记接受还是发送方的,那些api会对此属性改变呢/?

frcc00 commented 2 years ago

比如你给我发了消息,我进入了聊天界面程序就可以认为我读了,在后台调用markC2CMessage,你那边会有执行OnRecvC2CReadReceipt,并且sdk内部会将OnRecvC2CReadReceipt里面的消息自动设置isRead为true。如果用户正在聊天界面,需要实时的将消息的isRead手动更新,并刷新界面。

frcc00 commented 2 years ago

markSingleMessageHasRead这个是标记单个聊天所有消息已读状态的 ,有标记单条消息已读状态的吗?另外c2c是用于消息已读状态的置位是什么意思,这个不是消息接收人标记自己是否已读这条消息吗?如果接受者调用markSingleMessageHasRead,那么c2c还有什么用呢,因为整个聊天的消息状态都被标记为已读了

目前没有标记单条消息的接口。markSingleMessageHasRead\markGroupMessageHasRead只改变未读数

dayu1213 commented 2 years ago

我自己可以更新message的isread属性对吗?

frcc00 commented 2 years ago

我自己可以更新message的isread属性对吗?