我正在尝试通过以下功能为我的网络应用程序实现聊天:
- 当用户登录时,他应该看到许多未读消息(这既是离线消息又是“未见”,我将在下一步中解释“未见”)。
- 当用户位于应用程序中的任何位置但在聊天窗口上时,应该通知他有新消息。消息应标记为“未读”,并且必须添加到未读消息的计数中。
使用 XEP-0013:灵活的离线消息检索可以很容易地实现第一点。所以我可以检索离线消息,当我确定用户已经看到它们时 - 我将它们从未读列表中删除。但问题是:如何对“看不见的”消息实现同样的效果?
简而言之,我需要的是:任何消息都应标记为离线,除非用户看到它并且通过明确请求将其从列表中删除。
我可以使用 XMPP 实现这一目标吗?我该如何做到这一点?
提前致谢。
您要做的就是在您的帐户中存储一些看不见的东西。我认为您不需要灵活的离线检索,因为当您连接时,消息将变得看不见。因此,您只需处理一种情况:Unseen。
我将从 ejabberd 的角度回答,作为开发人员之一,我更了解:我会使用私有存储来存储您当前未见过的计数和对话的状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)