XMPP上的GroupChat推送通知 [英] 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上的GroupChat推送通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!