Background Fetch 赋予 PWA 超越推送通知的内容策略
使用 Background Fetch 提供可靠离线体验的决策框架与检查清单,避免耗电或消耗用户耐心。
为什么 Background Fetch 改变了游戏规则
推送通知非常适合实时提醒,但当用户离线或应用关闭时,它们无法可靠地传递大型媒体、文档或应用更新。Background Fetch 正好解决了这一差距。
Background Fetch 实用检查清单
- 仅通过用户手势请求权限。
- 始终提供进度 UI 和取消选项。
- 在 UI 中设置现实的下载大小预期。
- 在 Service Worker 中处理下载资源的
fetch事件。 - 在低带宽和计费连接上测试。
- 及时清理失败或放弃的获取操作。
决策框架:推送 vs Background Fetch
选择 Background Fetch 的情况:
- 内容较大(图片、视频、PDF > 5 MB)。
- 即使用户关闭应用也必须成功送达。
- 你需要为核心内容提供确定性的离线可用性。
选择推送 + 缓存的情况:
- 载荷较小(< 100 KB)。
- 及时性比保证送达更重要。
- 你已经拥有强大的推送通知策略。
官方来源事实
- Chrome 74+ 和 Edge 支持;Safari 通过其他机制提供部分支持。
- 该 API 直接与 Service Worker 的
fetch事件集成。 - Chrome 在活跃的后台获取期间会显示持久通知。
OpenPWA 团队的下一步
审计你当前的离线内容大小。找出最适合后台交付的前 3 个资源。在设置中实现简单的 Background Fetch 按钮。测量上线前后的离线内容完成率。这往往成为新闻、教育和媒体 PWA 的隐藏留存杠杆。