更简单的推送通知,也许问服务器是否有?

我在一个ide工作,我作为管理员可以发送通知给我的所有客户(移动)。 我一直在搜索并找到GCM和其他服务……我想知道是否有更简单的解决方案。

我想过每隔1小时从所有客户端(移动)到我的服务器进行rest呼叫,以检查新的通知。 如果有,请获取它们然后在客户端(移动)上显示这些通知。

轮询将导致更多的电池寿命消耗和一些其他额外的不必要的过程(例如@MohammedAtif的评论中提到的),例如,当您的客户端应用程序调用您的服务器但最终为空时。 由于没有发生任何事情,这个过程被浪费了。

GCM不这样做。 关于它的流程,请参考官方文档 。

生命周期流程

  • 发送和接收下游消息。
    • 发送一个消息。 应用服务器将消息发送到客户端应用:
      1. 应用服务器向GCM连接服务器发送消息。
      2. 如果设备处于脱机状态,GCM连接服务器会将消息排入并存储。
      3. 当设备在线时,GCM连接服务器将消息发送到设备。
      4. 在设备上,客户端应用程序根据特定于平台的实现接收消息。 有关详细信息,请参阅特定于平台的文档
    • 收到消息。 客户端应用程序从GCM连接服务器接收消息。

最近在I / O 2016中宣布,GCM的继任者现在是Firebase云消息传递 ,它不仅具有推送通知服务,而且还具有免费的其他function(一个例子是分析)。

总的来说,使用GCM(或FCM)是一种比轮询更简单的方法。 它处理您发送的消息和其他一些消息的排队。