独立的推送通知服务器实现

Standalone push notification server implementation

我想实现我自己的推送通知服务器,比我想知道的产品更需要如何它可以实现。

我阅读了 XMPP 服务器的文档,如 tigase、ejabberd 和 openfire。我知道 XMPP 服务器可以非常直接地处理在线消息,就像发送聊天消息通知一样。这是我认为正确的:

假设:拥有 OTT(即 Telegram),您可以通过 XMPP 客户端(移动应用程序)和 XMPP 服务器(即 ejabberd)发送通知或聊天消息,或考虑在移动设备上获取服务器状态更改的 pub/sub 应用程序正在使用 ejabberd 作为 XMPP 服务器和另一个 XMPP 客户端作为移动设备上的应用程序。

我的问题是,如果我上面提到的假设是正确的,推送通知服务器将是一个消息队列服务器,为离线用户排队 Pub/Sub 消息,以及一个 XMPP 服务器发送 notifications/messages 在线用户。

对吗?我可以通过一个消息代理来处理队列和一个 XMPP 服务器来处理消息发送来拥有自己的类似 GCM 的服务器吗?

您完全可以使用像 ejabberd 这样的 XMPP 服务器在 Android 上实现您自己的推送通知服务。您需要有一个保持持续连接的应用程序,并且会在收到消息时使用本地 Android API 在手机上显示通知。

在 Android 上,接收通知与显示通知明显分开。这意味着您可以通过任何您喜欢的方式接收它,但仍将其显示为标准通知,即使它不是通过 GCM

到达您的设备也是如此