【发布时间】:2020-08-12 16:05:27
【问题描述】:
我按照this 教程在我的网络应用程序中实现推送通知,当它们工作时,它们很快就会停止工作。根据我的后端,它似乎很好地处理了前几个通知,但在那之后,有时不到五分钟,订阅就会过期。我从推送服务中收到错误代码 410,教程说这意味着订阅已过期。
这太疯狂了,订阅怎么会在五分钟之内过期?我搜索了我的问题,似乎没有其他人遇到过这个问题,甚至有人说subscriptions can last years!
我尝试在我的 Service Worker 中为“pushsubscriptionchange”事件实现一个事件侦听器,但根据 Serginho's answer 的说法,Chrome 在 2019 年没有实现该事件,我认为从那时起就没有改变。
哦,虽然 Chrome 可以处理订阅(但如上所述只能处理一次/两次),但 Firefox 甚至什么都不做。我觉得我快疯了。但是,如果我使用 this site 测试推送订阅功能本身,它可以在 Firefox 中使用!和铬!他们在做什么而我不是?它们显示的代码与我上面链接的教程完全相同。
此时我还能做什么?我考虑过用setInterval() 创建一个间隔,然后每隔一秒左右重新订阅一次用户,但我认为这不会奏效。
任何帮助将不胜感激。
【问题讨论】:
-
这个问题困扰了我一年多。同样的问题。我用 cron-jobs 测试了向我发送推送通知,它只在第一天有效。在接下来的几天里它会过期并且没用。有更新吗?
标签: google-chrome firefox push-notification service-worker web-push