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

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

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

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


当前回答

我建议同时使用SMS和HTTP。如果用户还没有登录,就给他们的手机发短信通知他们有消息等待。

这就是爱立信实验室服务的工作方式:https://labs.ericsson.com/apis/mobile-java-push/

如果你自己实现这一点,棘手的部分是删除传入的短信,而用户看不到它。或者让他们看到你的情况也没关系。

看起来这是可行的: 使用BroadCastReceiver删除短信- Android

是的,编写这样的代码可能是危险的,你可能会毁掉某人的生活,因为你的应用程序删除了一条它不应该删除的短信。

其他回答

有一项新的开源项目正在开发一个Java库,用于基于Meteor web服务器的Android推送通知。你可以在执事项目博客上查看,在那里你可以找到Meteor和项目的GitHub存储库的链接。我们需要开发人员,所以请传播这个消息!

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

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

恐怕你已经找到了两种可能的方法。谷歌是,至少在最初,要实现一个GChat api,你可以使用一个推/拉实现。不幸的是,这个库被Android 1.0砍掉了。

逍遥法:

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

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

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

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

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