我正在使用Google频道从服务器执行推送通知。它运行正常,但是当我打开调试器窗口时,我可以看到很多轮询请求进入服务器。
这是推送通知的工作方式吗?如果是,那么它的用途是什么?
var token ="<%token%>";// This will creaete unique identifier(some id created by google api + ur key)
channel = new goog.appengine.Channel(token);
socket = channel.open();
socket.onopen = function() {
$('#messages').append('<p>Connected!</p>');
};
感谢。
答案 0 :(得分:0)
GCM不这样做。要参考它上面的official docs流程。
生命周期流程
- 发送和接收下游消息。
- 发送消息。应用服务器将消息发送到客户端应用:
- 应用服务器向GCM连接服务器发送消息。
- 如果设备处于脱机状态,GCM连接服务器会将消息排队并存储。
- 当设备在线时,GCM连接服务器会将消息发送给设备。
- 在设备上,客户端应用程序根据特定于平台的实现接收消息。有关详细信息,请参阅特定于平台的文档。
- 收到消息。客户端应用程序从GCM连接服务器接收消息。
在最近的I / O 2016中也宣布,GCM的继任者现在是Firebase Cloud Messaging,它不仅拥有推送通知服务,而且还具有免费的其他功能(一个例子是分析)。
总的来说,使用GCM(或FCM)是一种比轮询更简单的方法。它处理您发送的消息和其他一些消息的排队。