我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。
SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器
每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。
你有更好的建议吗?非常感谢。
我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。
SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器
每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。
你有更好的建议吗?非常感谢。
当前回答
有一项新的开源项目正在开发一个Java库,用于基于Meteor web服务器的Android推送通知。你可以在执事项目博客上查看,在那里你可以找到Meteor和项目的GitHub存储库的链接。我们需要开发人员,所以请传播这个消息!
其他回答
我建议同时使用SMS和HTTP。如果用户还没有登录,就给他们的手机发短信通知他们有消息等待。
这就是爱立信实验室服务的工作方式:https://labs.ericsson.com/apis/mobile-java-push/
如果你自己实现这一点,棘手的部分是删除传入的短信,而用户看不到它。或者让他们看到你的情况也没关系。
看起来这是可行的: 使用BroadCastReceiver删除短信- Android
是的,编写这样的代码可能是危险的,你可能会毁掉某人的生活,因为你的应用程序删除了一条它不应该删除的短信。
你可以使用Xtify (http://developer.xtify.com) -他们有一个与他们的SDK一起工作的推送通知web服务。它是免费的,到目前为止,它对我来说工作得很好。
我对Android推送通知的理解/经验是:
C2DM GCM -如果你的目标android平台是2.2+,那么就去做吧。只有一个问题,设备用户必须总是使用谷歌帐户登录才能获得消息。 MQTT -基于Pub/Sub的方法,需要从设备主动连接,如果不合理实现可能会消耗电池。 执事-可能不是很好,因为有限的社区支持。
编辑:2013年11月25日添加
GCM -谷歌说…
对于3.0版本之前的设备,这要求用户在移动设备上设置自己的谷歌账户。Android 4.0.4及以上版本的设备不需要谷歌帐户
我推荐在Android上使用GCM -谷歌云消息 它是免费的,对于简单的使用它应该是非常容易的。
但是,它需要维护一个第三方服务器发送通知代表你。 如果你想避免这种情况,Android推送通知服务有一些非常好的工业解决方案:
城市飞艇-免费多达1M的通知每月,之后,你收取每1000个通知 PushApps -每月100万个免费通知,每月19.99的无限通知 PushWoosh -免费的一百万设备,高级计划从39欧元起
Diclaimer -我在PushApps工作,在我的应用程序中使用他们的产品已经一年多了。
有很多第三方服务器,如Urban Airship, Xtify, Mainline,……它不仅允许在Android上发送,还允许在iOs, Windows Phone…