我正在开发一个ide,我作为管理员可以向所有客户(移动)发送通知。我一直在搜索并找到GCM和其他服务......我想知道是否有更简单的解决方案。
我考虑过每隔1小时从所有客户端(移动)到我的服务器进行休息呼叫,以检查新的通知。如果有,请获取它们,然后将这些通知呈现给客户(移动)。
答案 0 :(得分:0)
Polling将导致更多的电池续航时间和其他一些额外的不必要的过程(例如@MohammedAtif的评论中提到的),例如,当您的客户端应用程序拨打您的服务器但最终结束时空。由于没有发生任何事情,这个过程被浪费了。
GCM不这样做。要在它的流程上引用official docs。
生命周期流程
- 发送和接收下游消息。
- 发送消息。应用服务器将消息发送到客户端应用:
- 应用服务器向GCM连接服务器发送消息。
- 如果设备处于脱机状态,GCM连接服务器会将消息排队并存储。
- 当设备在线时,GCM连接服务器会将消息发送给设备。
- 在设备上,客户端应用程序根据特定于平台的实现接收消息。有关详细信息,请参阅特定于平台的文档。
- 收到消息。客户端应用程序从GCM连接服务器接收消息。
在最近的I / O 2016中也宣布,GCM的继任者现在是Firebase Cloud Messaging,它不仅有推送通知服务,还有免费的其他功能(一个例子是分析)。
总的来说,使用GCM(或FCM)是一种比轮询更简单的方法。它处理您发送的消息和其他一些消息的排队。