【问题标题】:How to implement XMPP to send push notifications如何实现 XMPP 发送推送通知
【发布时间】:2011-10-01 10:17:04
【问题描述】:

我想使用 XMPP,以便我的应用程序将更新发送到 Android 手机(1.5 及更高版本)。我非常想使用 XMPP 向手机发送推送通知。

我将如何实现这一目标。目前,我的 Web 应用程序在 apache tomact 上运行,带有许多 servlet,因此 android 手机可以访问信息,但我发现很难理解如何实现 XMPP,以便可以将信息从服务器推送到客户端(安卓手机)。

我已经测试了下面的教程 Example of XMPP with Google ID login

它使用 Google ID 登录。但我需要使用我的网络应用程序来做谷歌实现的事情。 有什么想法吗?

【问题讨论】:

标签: java android xmpp push push-notification


【解决方案1】:

这取决于您推送的性质(是点对点还是 pub sub)。无论哪种情况,您都需要一个 XMPP 服务器来连接您的客户端和应用程序。这将是您的应用程序向客户端发送通知的方式。

不确定您所说的“我需要将我的网络应用程序用于谷歌实现的内容”是什么意思。您的 Web 应用程序将是 xmpp 服务器的客户端,就像您的手机一样。你不能使用 xmpp 来简单地与你的 web 应用程序对话,除非它本身就是一个支持 bosh 的 xmpp 服务器,我猜这不太可能。

您可以使用Smack 进行客户通信,也可以使用many available servers 中的任何一个。

如果通信是针对特定客户端的,那么在应用程序和客户端之间创建chat 可能是最简单的方法。如果更多的是广播,那么您可以使用MUC (multi user chat)pubsub

【讨论】:

  • 我已经设置了 openfire ......但我不知道我将如何设置它在服务器端......我所说的谷歌在我链接到的应用程序中实现的意思。用户登录应用程序,然后他们可以与任何拥有谷歌 ID 的人聊天。但我想要的是一种让我的应用程序服务器与很多用户聊天(发送推送通知)的方法。我不太确定如何使用 smack 连接到 OpenFire 服务器。 (客户端和应用程序端)
【解决方案2】:

通常,您可以将此作为发布-订阅功能来实现。 Pub-sub 基本上是发布/订阅范式:您发布某些内容,他们会收到它。

假设您有一个支持 pub-sub 协议扩展(如 eJabber)的 XMPP 服务器设置,在您的应用程序中,您将登录到该服务器并订阅一个节点(将发送您的更新通知),并使用您的订阅必须添加一个处理程序来处理该节点上的任何通知。

在服务器端,当您拥有所有客户端都需要了解的内容时,您会将更新发布到客户端订阅的同一节点。

欲了解更多信息,请参阅http://xmpp.org/extensions/xep-0060.html

【讨论】:

    猜你喜欢
    • 2014-07-11
    • 2015-07-27
    • 1970-01-01
    • 2013-05-28
    • 2016-05-05
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多