thu*_*mon 5 notifications service-worker progressive-web-apps
我想在我的 PWA 中安排一个定期任务,然后我可以在每天的某个特定时间显示通知。
我尝试了通知 API: https: //web.dev/notification-triggers/,它似乎有效。但是,根据文档,仍然需要在App的页面上下文中setInterval,例如
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)
Run Code Online (Sandbox Code Playgroud)
这不是我理想的解决方案,如果我关闭我的应用程序,通知将不会被触发。
然后我尝试了periodicSync API: https: //web.dev/periodic-background-sync/,例如
await registration.periodicSync.register('periodic-notification', {
minInterval: 60*1000
});
Run Code Online (Sandbox Code Playgroud)
根据我的测试,periodicSync如果我在dev-tool->Application->Service Workers->Periodic Sync button. 但我期望的是periodicSync每 1 分钟获取一次事件。根据文档,似乎它与 相关site-engagement,那么它不是一个真正的周期性任务。
有解决这个问题的想法吗?谢谢你!
| 归档时间: |
|
| 查看次数: |
1476 次 |
| 最近记录: |