OpenPWAStore
返回 News
Guide · May 19, 2026

Badging API 是 PWA 的安装后留存信号

微妙、非侵入式通知徽章,在没有隐私顾虑或权限障碍的情况下维持应用存在感。

OpenPWA Editorial1 min read
Badging API 是 PWA 的安装后留存信号 cover

为什么安装后的 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 应该是一个有用的推动,而不是你唯一的增长引擎。

下一步

  1. 审计你的通知策略并识别可能使用徽章信号的状态
  2. 将徽章状态映射到需要实际解决的用户操作
  3. 实现与用户交互相关的徽章清除逻辑,而不仅仅是应用打开
  4. 测量徽章驱动的参与度 vs 有机参与度
  5. 根据实际用户行为调整徽章触发器,而不是假设

Badging API 在维持 PWA 存在的同时尊重用户自主性。它是一个感觉不像留存工具的留存工具 — 这正是现代用户从他们邀请进入生活的 Web 应用中需要的东西。