【问题标题】:XMPP (Openfire) Push Notifications AndroidXMPP (Openfire) 推送通知 Android
【发布时间】:2013-05-28 05:01:34
【问题描述】:

我真的试图找到解决这个问题的方法,但没有。有一些线程与这个概念相关,但我没有找到全面的解决方案。

我有一个带有 Openfire 的服务器来发送消息。当两个用户都在线时,没有问题。但是,当用户离线时,我想发送推送通知,就像在 Whatsapp 中一样。我听说 Whatsapp 和其他 IM 应用程序使用修改版的 ejabber 发送推送通知,但不知道如何。

一种可能性是使用 GCM,但我不确定这是否是正确的方法。另外我想避免轮询,以免耗尽电池寿命。

有没有人知道一些解决方案或有一个例子?

【问题讨论】:

    标签: android push-notification xmpp google-cloud-messaging


    【解决方案1】:

    我正在研究 openfire 并找到了一些不错的选择,我想与您分享。 我在 github 中找到了一个插件,我将在本周对其进行测试。看来这将是一个很好的解决你的目标和我的目标:https://github.com/meisterfuu/Openfire-GCM/

    另一种选择是使用 CallbackOnOffline 插件,它使用 To 和 From 参数调用指定的 URL。这个 url 可以是你的 web 服务中的一个端点,使用该数据(To 和 From),你可以获得相关的 Id 以在你的基础中进行推送,并进行推送。

    https://www.igniterealtime.org/projects/openfire/plugins.jsp

    【讨论】:

    • Openfire-GCM 不工作。您可能有更新版本吗?
    【解决方案2】:

    好吧,您可以将 GCM 与 XMPP 一起使用。 新的GCM Cloud Connection Server 允许您使用 XMPP 协议在服务器和 Android 应用程序之间进行双向(云到设备和设备到云)通信。

    GCM 云连接服务器 (CCS) 允许第三方服务器 通过建立持久 TCP 与 Android 设备进行通信 使用 XMPP 协议与 Google 服务器连接。这 通信是异步和双向的。

    【讨论】:

    • 我会试一试的。我知道这可能是一个很好的解决方案。一旦您的解决方案对我有用,我将接受您的回答:)
    • 嗯,值得一试,但不要忘记这是一个试用功能,所以它可能还没有准备好投入生产。
    • 我希望避免使用 GCM,因为设备上需要一个 google 帐户才能接收推送通知,但我认为这是目前唯一的选择。再次感谢您的回答。
    【解决方案3】:

    在 openfire 中它是自动完成的,当用户上线时,用户会收到消息。所以不用担心给离线用户发送消息,当用户在线时,消息会自动推送给用户。

    【讨论】:

    • 没错,但是我想做一个即时通讯工具,在用户离线的情况下需要推送通知。我希望用户在收到消息(推送通知)后得到通知。
    • 为什么不运行后台服务并保持与 OpenFire 的连接?
    猜你喜欢
    • 2019-02-08
    • 1970-01-01
    • 2012-04-14
    • 2012-08-24
    • 2013-04-12
    • 2016-05-05
    • 2014-07-06
    • 2017-03-24
    相关资源
    最近更新 更多