【问题标题】:GroupChat Push Notification on XMPPXMPP 上的群聊推送通知
【发布时间】:2017-03-24 04:31:22
【问题描述】:

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

  1. 发件人将消息发送到 ejabberd
  2. Ejabberd 收到消息并检查收件人是否在线
  3. 如果收件人离线,ejabberd 会保存离线消息
  4. 当 ejabberd 收到离线消息并将消息传递到我们的网络服务器时,mod_interact 起作用
  5. Web 服务器查找客户端的推送通知信息并发送推送通知

它在一对一聊天中效果很好。但是在群聊(MUC)中,mod_interact 不起作用,我无法向群接收者发送推送通知。你知道在一对一和群聊中解决这个问题的任何其他解决方案吗?

谢谢

【问题讨论】:

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


    【解决方案1】:

    查看ejabberd_mod_offline_post,它同时支持one2one和MUC。

    1. 首先配置 Room 必须是 Member-Only 房间,并在创建后立即将所有用户添加为成员,这样才能得到总数。
    2. 将上述模型添加到 ejabberd 模型中。
    3. 实现回调服务来处理回调帖子。

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

    • 在一对一的情况下,offline_message_hook 将被引发
    • 在 MUC 情况下,将引发 muc_filter_message,并且任何不存在可用的人都处于脱机状态。

    【讨论】:

      猜你喜欢
      • 2016-07-26
      • 2012-05-14
      • 2013-05-28
      • 2016-05-05
      • 1970-01-01
      • 2012-08-24
      • 2013-04-12
      • 2016-09-25
      相关资源
      最近更新 更多