Android 设备需要连接到服务器 - C2DM、轮询或第三方?

标签 android connection android-c2dm mqtt

我目前正在开发一个应用程序,该应用程序有一些非常的要求。

项目

需要一个可以与服务器通信的应用程序。 必须向可以显示通知或启动 Activity 的应用程序发送小消息。

需求

客户需要确保手机始终“连接”。
客户端希望应用程序能够告知它何时不再连接(或无法连接)到它告诉用户的服务器。

客户端需要能够向各个设备发送消息
如果客户端需要向连接的设备和单个设备广播消息。

我的想法(或问题)

目前,该应用每分钟通过一次 HTTP 请求轮询服务器 - 如果该应用无法连接到服务器,用户将收到通知。轮询能够判断哪个设备正在调用并告诉它是否有消息。

但是...

IMO 这是一个糟糕的设计 - 它会产生大量的额外流量,使用可能不必要的资源,并且它会带来很多连接问题(我不确定无论如何我都会过去使用哪种方法)。

我需要你的经验来为我的项目选择正确的解决方案。

我一直在考虑 C2DM,但我不确定这是否能满足我的需求? 轮询是我唯一真正的解决方案吗? 有没有我没想过的第三种选择?

最佳答案

我偶然发现了一项名为 Parse.com 的新服务他们似乎提供了使用后端轻松实现 Android 推送的功能。它是商业性的,但他们也有免费计划。

如果您想自己实现,似乎有很多关于使用专为低功耗设备设计的 MQTT 的文章。但我还没有看到任何现成的实现。

关于Android 设备需要连接到服务器 - C2DM、轮询或第三方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001935/

相关文章:

java - 如何嵌入 Internet 请求代码并获得在一个 OnClickListener 中实现的结果

android - 单击时使用 TextView 扩展 cardView

asp.net - SAP NetWeaver 7 试用版和 SAP .NET 连接器 3.0 - 可用功能?

android - 使用 C2DM 注册 Android 应用程序

android - ProgressDialog 圆圈未在设备中显示

android - 如何从相机拍摄的照片制作缩略图?

javascript - Cordova 应用程序 Socket.IO 连接不起作用

login - Freenode 上的 Xchat - 奇怪的行为

android - GCM(Google Cloud Messaging)在卸载应用程序时不发送错误

android - c2dm 服务器 block 或在联想平板电脑上不受支持?