XMPP 上的群聊推送通知 [英] GroupChat Push Notification on XMPP

查看:32
本文介绍了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:

  1. 发件人将消息发送给 ejabberd
  2. Ejabberd 收到消息并检查接收者是否在线
  3. 如果接收者离线,ejabberd 会保存离线消息
  4. mod_interact 在 ejabberd 收到离线消息并将消息传送到我们的网络服务器时起作用
  5. 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.

  1. 首先将房间配置为仅限会员的房间,并在创建后立即将所有用户添加为成员,以便能够获得总数.
  2. 将上述模型添加到 ejabberd 模型中.
  3. 实施回调服务来处理回调帖子.

这个想法是当用户离线时:

The idea is when User go offline:

  • 在一对一的情况下,offline_message_hook 将被引发
  • 在 MUC 情况下,将引发 muc_filter_message,并且任何不存在的人都处于离线状态.

这篇关于XMPP 上的群聊推送通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆