2014-03-31 127 views
5

我需要在本地网络中使用我自己的服务器为Android和iOS实施推送通知,但无法访问Internet。 更准确地说,我的用户将拥有一个移动应用程序(Android和iOS),它将通过无线网络连接到本地服务器。该网络不会有任何Internet连接。 当某些具体事件发生时,服务器将需要向连接的设备发送推送通知。在本地网络中推送通知

我在服务器端使用Django。

我一直在研究一下,它看起来像使用XMPP将是一个整洁的解决方案。因此我想我需要一个XMPP服务器来与移动设备进行通信。我已经看到了服务器端的几种选择,但我完全不明白我需要的是什么。有一些XMPP服务器,如OpenfireSleekXMPP。我不确定他们是干什么的。我应该选择其中一个还是同时使用?

另一方面,应用程序端有哪些替代方法?

我基本上需要的是关于选择哪些技术和一些参考的一些指导。

回答

3

首先,如果您决定使用XMPP协议..您可以使用您提及的任何服务器,并使用任何用于移动Smack的库,例如Android,移动库将使用侦听器自动更新您的事件。一个处理通知的软件层。

其次,如果您想手动实现它,您将在移动设备上运行一项服务,该服务通过向服务器请求更新来定期检查更新。

第三个实际的推送通知需要通过互联网注册,例如android需要与Google Cloud Messaging进行通信。

+0

如果我正确地理解了你,那么在服务器端使用Openfire,而在Android端使用Smack就足够了? – Esparver

+0

是的,如果你感兴趣的通知只是协议支持的正常消息事件 – elmorabea

+0

好的,我会尝试,谢谢。第二种选择对于电池寿命来说不是一个好主意,并且不提供实时通知,第三种选择是明显的,但由于我没有互联网连接,所以在这种情况下它不适用于我。 – Esparver