我目前正在开发一个应用程序,该应用程序有一些非常的要求。
项目
需要一个可以与服务器通信的应用程序。 必须向可以显示通知或启动 Activity 的应用程序发送小消息。
需求
客户需要确保手机始终“连接”。
客户端希望应用程序能够告知它何时不再连接(或无法连接)到它告诉用户的服务器。
客户端需要能够向各个设备发送消息
如果客户端需要向连接的设备和单个设备广播消息。
我的想法(或问题)
目前,该应用每分钟通过一次 HTTP 请求轮询服务器 - 如果该应用无法连接到服务器,用户将收到通知。轮询能够判断哪个设备正在调用并告诉它是否有消息。
但是...
IMO 这是一个糟糕的设计 - 它会产生大量的额外流量,使用可能不必要的资源,并且它会带来很多连接问题(我不确定无论如何我都会过去使用哪种方法)。
我需要你的经验来为我的项目选择正确的解决方案。
我一直在考虑 C2DM,但我不确定这是否能满足我的需求? 轮询是我唯一真正的解决方案吗? 有没有我没想过的第三种选择?
最佳答案
我偶然发现了一项名为 Parse.com 的新服务他们似乎提供了使用后端轻松实现 Android 推送的功能。它是商业性的,但他们也有免费计划。
如果您想自己实现,似乎有很多关于使用专为低功耗设备设计的 MQTT 的文章。但我还没有看到任何现成的实现。
关于Android 设备需要连接到服务器 - C2DM、轮询或第三方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001935/