因此,我终于为我的网站实现了一个成功的推送通知。然而,当我推送通知时,假设接收者的pc关闭了,或者在睡眠模式下,gcm返回成功,但通知丢失了,它永远不会为用户...while弹出。另一方面,我注意到facebook似乎在做一些帮助它克服这个问题的事情。在重新启动后的第一件事上,你会看到facebook的铬通知.有没有人知道fb是如何解决这个问题的?
发布于 2016-01-12 12:48:42
如果您使用的是标准的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/。
https://stackoverflow.com/questions/34743889
复制相似问题