Badging API 是 PWA 的安装后留存信号
微妙、非侵入式通知徽章,在没有隐私顾虑或权限障碍的情况下维持应用存在感。
为什么安装后的 PWA 会沉默
当用户安装一个 PWA 后,其图标会与他们已安装的数十个应用一起出现在应用启动器中。如果没有持续、有意义的信号给他们提供返回的理由,这个图标就变成了启动器背景的一部分。
推送通知对某些应用解决了这个问题,但不是全部。它们需要权限、用户会屏蔽,而且充其量是侵入性的。这就是 Badging API:一个静默、系统级的感知,不索取任何东西。
Badging 与推送通知的区别
推送通知中断。Badging 告知。
推送通知:
- 需要明确的权限授予
- 可在浏览器或系统级别被阻止
- 触发声警报、震动和横幅
- 用户视其为干扰,而非有益信号
- 监管和隐私关切无处不在
Badging:
- 无需权限
- 静默 — 无声音、震动或横幅
- 作为小数字或点出现在应用图标上
- 用户无需交互即可看到
- 隐私友好设计
关键区别:用户选择是否与徽章交互。他们不被迫确认它。
为什么 Badging 是留存机制
Badging API 在你的 PWA 图标上在应用启动器或 Dock 中设置一个小徽章。这个徽章说"有些东西在等你",而不强迫用户现在就处理它。
心理学原理:徽章创建开放循环。人类自然地想要关闭开放循环。当你在应用图标上看到徽章时,你的大脑会注册"这里有未处理状态",你更有可能点击它来解决。
平台集成:徽章出现在系统级别 — 主屏幕启动器、Dock、任务切换器。这意味着用户即使不在主动浏览网页时也能看到你的徽章。你的 PWA 存在感成为他们设备感知层的一部分。
什么时候用徽章(什么时候不用)
为可操作的、用户发起的状态使用徽章:
好的用例:
- 未读消息或通知
- 待处理的好友请求
- 需要用户关注的新内容
- 已添加但未购买的购物车物品
- 需要完成的任务
- 需要用户审阅的更新
坏的用例:
- 促销或营销内容("50% 折扣!")
- 一般性更新("有新文章")
- 我们已经在其他地方处理的系统消息
- 可以等到下次自然访问时的事情
规则:为未完成的用户操作徽章,而不是一般公告。
实现模式
首先检查浏览器支持:
const setBadge = (count) => {
if ('setAppBadge' in navigator) {
navigator.setAppBadge(count);
}
};
const clearBadge = () => {
if ('clearAppBadge' in navigator) {
navigator.clearAppBadge();
}
};可清除状态:只在用户解决底层状态时清除徽章,而不仅仅是打开应用时。如果你有 3 条未读消息,他们读了 2 条,徽章应该显示 1,而不是消失。
仔细聚合:如果你有多种通知类型,决定是显示总数还是简单指示点。简单点更适合高频通知;数字更适合不同物品。
无权限优势
没有权限对话框意味着:
更高的采用率:每个安装的用户都可以参与徽章。你不会因为权限拒绝而失去 30-60% 的受众。
更低的流失:屏蔽推送通知的用户仍然接收感知信号。
隐私对齐:现代用户对通知权限持怀疑态度。Badging 尊重这种怀疑,同时仍然提供价值。
平台一致性:徽章系统对用户来说已经熟悉,来自原生应用。这就是为什么它有效。
浏览器支持和兜底方案
Badging 在 Chrome、Edge 和 Safari 中有强支持。
不支持的浏览器:这个功能根本不运行。没有优雅降级到替代通知系统。你要么使用徽章,要么不用。
最佳实践:将所有徽章调用包装在功能检测中。永远不要仅仅因为用户安装了你的 PWA 就假设 API 可用。
留存测量检查清单
在将徽章作为留存策略上线之前:
- [ ] 定义清晰的徽章状态和其触发器
- [ ] 实现将徽章清除与实际状态解决方案关联
- [ ] 测试徽章在主屏幕和 Dock 中的可见性
- [ ] 验证卸载应用后徽章不会持久存在
- [ ] 确认如果用户手动清除应用数据徽章会清除
- [ ] 监控徽章诱导的会话启动与有机访问
- [ ] 避免将徽章转化为无价值的通知垃圾
- [ ] 为团队成员和审阅者记录徽章理由
这对 PWA 业务指标意味着什么
Badging 不是推送通知的替代品。它是一个补充信号:
对于授予推送权限的用户:Badging 在你不想打断他们时提供静默背景信号。
对于阻止推送的用户:Badging 给了他们除了记忆之外唯一的留存工具。
对于对参与度敏感的应用:Badging 维持感知,而没有推送通知造成的骚扰感。
要关注的指标:徽章触发打开 vs 有机打开。如果你的大部分参与度来自徽章,这表明你的核心价值主张需要工作。Badging 应该是一个有用的推动,而不是你唯一的增长引擎。
下一步
- 审计你的通知策略并识别可能使用徽章信号的状态
- 将徽章状态映射到需要实际解决的用户操作
- 实现与用户交互相关的徽章清除逻辑,而不仅仅是应用打开
- 测量徽章驱动的参与度 vs 有机参与度
- 根据实际用户行为调整徽章触发器,而不是假设
Badging API 在维持 PWA 存在的同时尊重用户自主性。它是一个感觉不像留存工具的留存工具 — 这正是现代用户从他们邀请进入生活的 Web 应用中需要的东西。