XMPP 上的未读消息计数
Posted
技术标签:
【中文标题】XMPP 上的未读消息计数【英文标题】:Unread messages count on XMPP 【发布时间】:2021-07-07 13:30:14 【问题描述】:我正在使用 MongooseIM 开发一个基于 XMPP 的聊天应用程序,我正在尝试在我的应用程序中实现未读消息的数量。
我使用XEP-0022 (Message Events) 来跟踪从服务器接收到消息、从客户端接收到消息、从另一个客户端看到消息的时间,并使用XEP-0430 (Inbox) 来跟踪我检索到的未读消息。来自 MAM。
我的主要问题是,当从收件箱请求消息时,它返回所有消息,而不仅仅是文本消息。澄清一下:它还返回发送以确认收到消息的消息以及所有中间消息,从而增加未读计数器并使其非常不切实际。
我能做些什么来解决这个问题?
【问题讨论】:
【参考方案1】:您可以使用XEP-0333: Chat Markers 代替 XEP-0022(标记为过时)来传递传递/读取状态。 MongooseIM 收件箱知道 XEP-0333 标记,不会将它们计入未读邮件总数。如果您可以控制正在使用的 XMPP 扩展,这是最简单的选择。
【讨论】:
谢谢,它有效。最后一件事:我怎么知道服务器现在接受了没有 0022 的消息? 实际上设法使用 XEP-0184 实现了它。再次非常感谢!以上是关于XMPP 上的未读消息计数的主要内容,如果未能解决你的问题,请参考以下文章