GroupChat在XMPP上推送通知

时间:2016-11-10 08:06:57

标签: ios objective-c push-notification xmpp ejabberd

我们正在IOS和Android上开发一个xmpp应用程序。我们使用ejabberd作为xmpp服务器,我们还使用mod_interact(https://github.com/adamvduke/mod_interact)来通知我们的Web服务器向客户端发送推送通知以获取其脱机消息: 流程是这样的:

  1. 发件人将邮件发送至ejabberd
  2. Ejabberd收到邮件并检查收件人是否在线
  3. 如果收据人处于离线状态,则ejabberd会保存离线消息
  4. mod_interact在ejabberd收到离线消息并将消息发送给我们的网络服务器时起作用
  5. Web服务器查找有关客户端的推送通知信息并发送推送通知
  6. 它在1对1的聊天中运作良好。但在群聊(MUC)中mod_interact不起作用,我无法向群组收据发送推送通知。您是否知道在1对1和群聊中解决该问题的任何其他解决方案。

    由于

1 个答案:

答案 0 :(得分:0)

查看ejabberd_mod_offline_post,它支持one2one和MUC。

  1. 首先配置会议室必须是会员专用会议室,并在创建后立即将所有用户添加为会员,以便能够获得总数。
  2. 将上述模型添加到ejabberd模型中。
  3. 实施回调服务以处理回调帖子。
  4. 想法是当用户离线时:

    • 在一对一的情况下,将引发offline_message_hook
    • 在MUC案例中,将引发muc_filter_message,并且任何非Presence-Available的人都会离线。