【问题标题】:Push notification for XMPP Chat App for offline users in Group群内离线用户的 XMPP 聊天应用推送通知
【发布时间】:2016-07-26 19:03:00
【问题描述】:

大家……!!

你好..!!

我正在开发基于 XMPP 的聊天应用程序。我使用了 Robbie Hanson 的 XMPPFramework https://github.com/robbiehanson/XMPPFramework

我使用 OpenFire 作为 XMPP 服务器

当用户离线时,我遇到了群聊推送通知的问题。

目前我可以在用户离线时获得一对一聊天的推送通知。 (为此,我创建了一个 PHP WebService,它每 60 秒从 ofOffline 表中获取信息)

但是由于没有用于群聊的离线消息表。

任何人都可以建议我当用户在群组中离线时,我如何才能获得群组的推送通知

我需要从 Android 和 iOS 聊天应用程序管理这个

对于我正在使用的 Android

https://github.com/siacs/Conversations

【问题讨论】:

    标签: android ios xmpp openfire xmppframework


    【解决方案1】:

    最好的例子是在 Tigase 中实现 AMP。它基于 MessageAmp 插件和 AMP 组件。 MessageAmp 插件拦截消息。如果它检测到用户没有登录,它会将消息转发给 AMP 组件以将其存储在离线存储中。在您的情况下,您可以拥有自己的消息插件,如果它检测到用户离线,可以将消息转发到您的推送组件(iOS 推送或 Android 推送、SMS 推送或其他)。 所有负责实际向设备推送通知的逻辑都应在该组件中实现。

    【讨论】:

    • 但是有了这个我需要改变我的服务器吧。??还有其他解决方案吗?
    【解决方案2】:

    尝试检查此MUC - Light 并使用 mod_zeropush 模块进行一些修改以处理来自 muc-light 的单个和组推送。

    它更像是什么应用程序,尽管您可能无法达到预期的 100% 结果,但比传统的 XEP-0045 简单。

    【讨论】:

      【解决方案3】:

      查看ejabberd_mod_offline_post

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

      这个想法是当用户下线时

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

      【讨论】:

        猜你喜欢
        • 2013-04-12
        • 2017-03-24
        • 2012-05-14
        • 2012-10-26
        • 2015-07-27
        • 2012-05-23
        • 1970-01-01
        • 2018-11-14
        相关资源
        最近更新 更多