我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。
SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器
每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。
你有更好的建议吗?非常感谢。
我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。
SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器
每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。
你有更好的建议吗?非常感谢。
当前回答
有很多第三方服务器,如Urban Airship, Xtify, Mainline,……它不仅允许在Android上发送,还允许在iOs, Windows Phone…
其他回答
(我曾回答过一个类似的问题——Android是否支持近乎实时的推送通知?)
我最近开始在Android上使用MQTT http://mqtt.org作为做这类事情的一种方式(例如,推送通知不是SMS,而是数据驱动的,几乎是即时消息传递,而不是轮询等)。
我有一篇关于这方面的背景信息的博客文章,以防有用
http://dalelane.co.uk/blog/?p=938
(注意:MQTT是IBM的技术,我应该指出我为IBM工作。)
你可以使用push
它是一种托管服务,可以超级容易地向web和移动应用程序添加实时数据和功能。 pushher提供了集成到所有主要运行时和框架的库。
PHP, Ruby, Python, Java, .NET, Go和服务器上的Node JavaScript, Objective-C (iOS)和Java (Android)客户端。
还是……
3)与服务器保持连接,每隔几分钟发送Keep -alive,服务器可以即时推送消息。这就是Gmail,谷歌Talk等的工作原理。
您可以使用谷歌云消息或GCM,它是免费的,易于使用。你也可以使用第三方推送服务器,比如PushWoosh,它可以给你更多的灵活性
C2DM:您的应用程序用户必须有gmail帐户。
MQTT:当你的连接达到1024时,它将停止工作,因为它使用了linux的“select model”。
有一个免费的android推送服务和api,你可以试试:http://push-notification.org