所以我终于为我的网站实现了成功的推送通知,但是当我按下通知并假设接收器的电脑关闭或处于睡眠模式时,gcm返回成功但通知丢失,它永远不会弹出该用户...而另一方面,我注意到facebook似乎正在做一些有助于它解决这个问题的事情..你看到一个facebook镀铬通知,一旦你重新开始重新启动铬的第一件事...是否有任何机构有任何想法至于fb如何通过这个问题?
如果您使用的是标准的Web Push服务(例如在Firefox中),则需要定义一个名为"TTL"的标头.从标准(https://tools.ietf.org/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/.