我正在使用GCM向Chrome发送推送通知,并面临以下一些问题。我正在使用nodejs库web-push发送推送。
1)我正在设置TTL键,其值为web-push的sendNotifiation值0,并在浏览器离线时发送通知。一分钟后我打开浏览器。我仍然收到通知。我尝试通过curl请求发送以及设置TTL标头,仍然是同样的问题。根据doc,如果TTL标头设置为0并且最终用户离线,则他不应该获得通知。 https://www.npmjs.com/package/web-push
2)有一个时间戳键选项,同时显示通知,这些通知将修改android chrome上的时间戳,同时在桌面chrome上重新排序。即使设置此字段,仍然没有时间在Android chrome上更改。 https://developers.google.com/web/updates/2016/03/notifications?hl=en
提前致谢。
答案 0 :(得分:0)
这里有几点需要注意:
Chrome历来使用GCM API而不是网络推送协议来发送推送消息。网络推送库旨在使用网络推送协议和GCM的后备 - 因为Chrome在这里做了专有/非标准的事情。
GCM API不使用网络推送协议使用的“TTL”标头,而是GCM API使用“time_to_live”选项(如果设置),我不相信网络推送库使用。
GCM端点最近开始支持网络推送协议,我将提出一个PR来将网络推送库转移到此。