我正在开发一个IDE,作为管理员,我可以向我的所有客户(移动设备)发送通知。我一直在搜索并找到 GCM 和其他服务...我想知道是否有任何更简单的解决方案。
我考虑过每 1 小时从所有客户端(移动设备)向我的服务器发起一次休息呼叫,以检查是否有新通知。如果有,获取它们,然后在客户端(移动设备)上显示这些通知。
Polling https://en.wikipedia.org/wiki/Polling_(computer_science)会导致更多的电池寿命消耗和一些其他额外的不必要的过程(正如@MohammedAtif的评论中提到的),例如,当您的客户端应用程序调用您的服务器但最终为空时。这个过程被浪费了,因为什么也没发生。
GCM 不这样做。要参考的是官方文档 https://developers.google.com/cloud-messaging/gcm#lifecycle就其流动而言。
生命周期流程
- Send and receive downstream messages.
- Send a message. The app server sends messages to the client app:
- 应用程序服务器向 GCM 连接服务器发送消息。
- 如果设备离线,GCM 连接服务器会将消息排队并存储。
- 当设备在线时,GCM连接服务器向设备发送消息。
- 在设备上,客户端应用程序根据平台特定的实现接收消息。有关详细信息,请参阅特定于平台的文档。
- 收到消息。客户端应用程序从 GCM 连接服务器接收消息。
在最近的 I/O 2016 上还宣布了 GCM 的继任者Firebase 云消息传递 https://firebase.google.com/docs/cloud-messaging/,它不仅具有推送通知服务,还免费提供其他功能(一个例子是分析)。
所以总的来说,使用 GCM(或 FCM)是比轮询更简单的方法。它处理您发送的消息和其他一些消息的排队。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)