XMPP 上的群聊推送通知 [英] GroupChat Push Notification on XMPP
问题描述
我们正在 IOS 和 Android 上开发 xmpp 应用程序.我们使用 ejabberd 作为 xmpp 服务器,我们也使用 mod_interact (https://github.com/adamvduke/mod_interact) 通知我们的网络服务器向客户端发送离线消息的推送通知:流程是这样的:
We are developing an xmpp application on IOS and Android. We are using ejabberd as the xmpp server and we are also using mod_interact (https://github.com/adamvduke/mod_interact) to inform our webservers to send push notifications to clients for their offline messages: Flow is like this:
- 发件人将消息发送给 ejabberd
- Ejabberd 收到消息并检查接收者是否在线
- 如果接收者离线,ejabberd 会保存离线消息
- mod_interact 在 ejabberd 收到离线消息并将消息传送到我们的网络服务器时起作用
- Web 服务器查找客户端的推送通知信息并发送推送通知
它在 1 对 1 聊天中运行良好.但是在群聊(MUC)中 mod_interact 不起作用,我无法向群组接收者发送推送通知.你知道在一对一和群聊中解决这个问题的任何其他解决方案吗.
Its working very well on 1 to 1 chat. But in group chat(MUC) mod_interact doesnt work and I cannot send push notification to group receipants. Do you know any other solutions to fix that problem on both 1 to 1 and group chat.
谢谢
推荐答案
查看 ejabberd_mod_offline_post,它支持 one2one 和 MUC.
Look into ejabberd_mod_offline_post, it supports both one2one and MUC.
- 首先将房间配置为仅限会员的房间,并在创建后立即将所有用户添加为成员,以便能够获得总数.
- 将上述模型添加到 ejabberd 模型中.
- 实施回调服务来处理回调帖子.
这个想法是当用户离线时:
The idea is when User go offline:
- 在一对一的情况下,offline_message_hook 将被引发
- 在 MUC 情况下,将引发 muc_filter_message,并且任何不存在的人都处于离线状态.
这篇关于XMPP 上的群聊推送通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!