我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。

SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器

每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。

你有更好的建议吗?非常感谢。


当前回答

(我曾回答过一个类似的问题——Android是否支持近乎实时的推送通知?)

我最近开始在Android上使用MQTT http://mqtt.org作为做这类事情的一种方式(例如,推送通知不是SMS,而是数据驱动的,几乎是即时消息传递,而不是轮询等)。

我有一篇关于这方面的背景信息的博客文章,以防有用

http://dalelane.co.uk/blog/?p=938

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

其他回答

(我曾回答过一个类似的问题——Android是否支持近乎实时的推送通知?)

我最近开始在Android上使用MQTT http://mqtt.org作为做这类事情的一种方式(例如,推送通知不是SMS,而是数据驱动的,几乎是即时消息传递,而不是轮询等)。

我有一篇关于这方面的背景信息的博客文章,以防有用

http://dalelane.co.uk/blog/?p=938

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

截至2016年5月18日,Firebase是谷歌为移动开发者提供的统一平台,包括推送通知。

谷歌C2DM现在已经贬值,为此,您必须使用新的服务GCM(谷歌云消息)。有关文档,请参见http://developer.android.com/guide/google/gcm/gs.html

你可以使用push

它是一种托管服务,可以超级容易地向web和移动应用程序添加实时数据和功能。 pushher提供了集成到所有主要运行时和框架的库。

PHP, Ruby, Python, Java, .NET, Go和服务器上的Node JavaScript, Objective-C (iOS)和Java (Android)客户端。

我推荐在Android上使用GCM -谷歌云消息 它是免费的,对于简单的使用它应该是非常容易的。

但是,它需要维护一个第三方服务器发送通知代表你。 如果你想避免这种情况,Android推送通知服务有一些非常好的工业解决方案:

城市飞艇-免费多达1M的通知每月,之后,你收取每1000个通知 PushApps -每月100万个免费通知,每月19.99的无限通知 PushWoosh -免费的一百万设备,高级计划从39欧元起

Diclaimer -我在PushApps工作,在我的应用程序中使用他们的产品已经一年多了。