2

因此,我终于为我的网站实现了成功的推送通知,但是当我推送通知并假设接收者的电脑已关闭,或者在睡眠模式下 gcm 返回成功但通知丢失时,它永远不会为该用户弹出...而另一方面,我注意到 facebook 似乎正在做一些事情来帮助它解决这个问题.. 重新启动后的第一件事就是打开 chrome 时,您会看到 facebook chrome 通知... 有没有人知道至于fb如何解决这个问题??

4

1 回答 1

6

如果您使用标准的 Web 推送服务(例如在 Firefox 中),您需要定义一个名为“TTL”的标头。从标准(https://datatracker.ietf.org/doc/html/draft-ietf-webpush-protocol-02):

应用服务器可以使用 TTL 头域来限制推送服务保留推送消息的时间。TTL 标头字段包含一个以秒为单位的值,用于描述推送服务保留推送消息的时间。

如果不设置,则默认为 0。

GCM 尚不支持 Web 推送标准,但它确实有一个 time_to_live 选项应该可以达到相同的结果:https ://developers.google.com/cloud-messaging/concept-options#ttl

编辑:Mozilla 推送服务现在需要 TTL 标头:https ://blog.mozilla.org/services/2016/02/20/webpushs-new-requirement-ttl-header/ 。

于 2016-01-12T12:48:42.017 回答