我最近了解到iPhone应用程序能够接收几乎即时的通知。

这是以推送通知的形式提供的,这是一种定制的协议,可以保持与iPhone的数据连接,并向应用程序发送二进制数据包,它会以极快的速度弹出警报,从服务器应用程序发送到手机应用程序的响应时间为0.5 - 5秒。这是作为数据而不是SMS发送的,以非常非常小的数据包作为数据计划的一部分收费,而不是作为传入消息。

我想知道,如果,使用Android,有一个类似的设施,或者是否有可能实现接近这个使用Android api的东西。为了澄清,我将相似定义为:

不是短信,而是一些数据驱动的解决方案 尽可能的实时 是否可扩展,即作为移动应用程序的服务器部分,我可以在几秒钟内通知数千个应用程序实例

我欣赏的应用程序可以拉基于,HTTP请求/响应风格,但理想情况下,我不想轮询那么严重,只是为了检查通知;除此之外,它就像滴漏数据计划。


当前回答

看看Xtify平台。看起来他们就是这么做的,

其他回答

我找不到我在哪里读到它,但我相信gmail利用一个开放的TCP连接来执行电子邮件推送。

https://github.com/Guti/Google-Cloud-Messaging--Titanium-/blob/master/src/com/google/android/gcm/GCMRegistrar.java

它真的很好和工作的解决方案的推动。

请试一下

如果你可以依靠谷歌库来满足你的目标市场,那么你可能想要依靠GTalk的功能(在现有的用户名上注册一个资源-当消息进入BroadcastReceiver时拦截它)。

如果不能,而且我希望您不能,那么您就需要捆绑您自己的XMPP版本。这是一个痛苦的过程,但是如果XMPP单独捆绑成一个独立的库,就会容易一些。

你也可以考虑PubSubHubub,但我不知道它的网络使用情况。我相信它是构建在XMPP之上的。

我最近开始在Android上使用MQTT http://mqtt.org,作为一种实现您所要求的方式(即不是SMS,而是数据驱动,几乎是即时消息传递,可伸缩,而不是轮询等)。

我有一篇关于这方面的背景信息的博客文章http://dalelane.co.uk/blog/?p=938

(注意:MQTT是IBM的技术,我应该指出我为IBM工作。)

Firebase Cloud Messaging FCM FAQ是GCM的新版本。它继承了GCM的核心基础设施,可以在Android、iOS和Chrome上可靠地传递消息。但是他们会继续支持GCM,因为现在很多开发者都在使用GCM sdk来处理通知,而客户端应用的升级需要时间。

截至2012年6月26日,谷歌云消息传递是向设备上运行的应用程序发送消息的首选方式。

以前(现在已弃用),该服务被称为“云到设备消息”。