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

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

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

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


当前回答

谷歌的官方答案是Android云到设备消息框架(已弃用)谷歌云消息(已弃用)Firebase云消息

它将适用于Android >= 2.2(在有Play Store的手机上)。

其他回答

逍遥法:

如果你的目标用户基数不大(少于1000人),你想要一个免费的服务开始,那么Airbop是最好的和最方便的。

Airbop网站 它通过其API使用谷歌云消息服务,并提供了良好的性能。我已经在我的两个项目中使用了它,而且很容易实现。

像和Urbanship这样的服务非常出色,但它们提供了整个部署堆栈,而不仅仅是推送通知之类的东西。

如果只有推送服务是你的目标,Airbop将工作良好。

我还没用过Pushwoosh,但它也是一个不错的选择。它允许免费向1,000,000台设备推送

您可以使用谷歌云消息或GCM,它是免费的,易于使用。你也可以使用第三方推送服务器,比如PushWoosh,它可以给你更多的灵活性

你可以使用Xtify (http://developer.xtify.com) -他们有一个与他们的SDK一起工作的推送通知web服务。它是免费的,到目前为止,它对我来说工作得很好。

你可以使用push

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

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

我对Android推送通知的理解/经验是:

C2DM GCM -如果你的目标android平台是2.2+,那么就去做吧。只有一个问题,设备用户必须总是使用谷歌帐户登录才能获得消息。 MQTT -基于Pub/Sub的方法,需要从设备主动连接,如果不合理实现可能会消耗电池。 执事-可能不是很好,因为有限的社区支持。

编辑:2013年11月25日添加

GCM -谷歌说…

对于3.0版本之前的设备,这要求用户在移动设备上设置自己的谷歌账户。Android 4.0.4及以上版本的设备不需要谷歌帐户