如何实现 XMPP 发送推送通知

2022-09-04 03:04:20

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

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

我已经测试了下面的教程使用谷歌ID登录的XMPP示例

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


答案 1

这取决于你的推送的性质(它是点对点还是酒吧子)。在任一情况下,您都需要一个客户端和应用程序连接到的 XMPP 服务器。这将是应用程序向客户端发送通知的方法。

不确定你说的“我需要使用我的网络应用程序到谷歌实现的东西”是什么意思。您的 Web 应用程序将是 xmpp 服务器的客户端,就像您的手机一样。你不能使用xmpp简单地与你的web应用程序交谈,除非它碰巧是一个启用了bosh的xmpp服务器本身,我猜这不太可能。

您可以将 Smack 用于客户端通信,以及许多可用服务器中的任何一个。

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


答案 2

通常,您将此功能实现为发布-订阅功能。Pub-sub基本上是发布/订阅范式:你发布一些东西,他们就会收到它。

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

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

有关详细信息,请参阅 http://xmpp.org/extensions/xep-0060.html


推荐