问题描述
我想在我的 PWA 中安排一个周期性任务,然后我可以在每天的某个特定时间显示通知。
我尝试了通知 API:https://web.dev/notification-triggers/,它似乎有效。但是,根据文档,它仍然需要在App的页面上下文中设置Interval,例如
setInterval(() => navigator.serviceWorker.getRegistration().then(reg=>{
if (!reg) {
return
}
reg.showNotification('test',{
tag: 'test-tag',body: 'This notification was scheduled 1min ago',showTrigger: new TimestampTrigger(new Date().getTime() + 60 * 1000),});
}),60 * 1000)
这不是我理想的解决方案,如果我关闭我的应用程序,将不会触发通知。
然后我尝试了periodicSync API:https://web.dev/periodic-background-sync/,例如
await registration.periodicSync.register('periodic-notification',{
minInterval: 60*1000
});
根据我的测试,如果我在 periodicSync
中手动触发它们,Service Worker 可以接收到 dev-tool->Application->Service Workers->Periodic Sync button
事件。但我期待的是每 1 分钟收到一次 periodicSync
事件。根据文档,似乎它与site-engagement
有关,那么它不是一个真正的周期性任务。
有解决此问题的任何想法吗? 谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)