如果你只想做一件事:先把91在线的通知干扰做稳

一句话承诺:把通知体验做稳,能立刻提升用户满意度、降低流失、提高留存与转化。比起花大力气在新功能上,稳住通知是回报最快、成本最低的那件事。
为什么把通知先做稳能带来高回报
- 通知是和用户建立长期关系的桥梁。一条及时、相关、不过度的通知,会比一次华而不实的新功能更能留住用户。
- 频繁、重复或错时的推送会削弱产品信任,用户选择“屏蔽”“退订”后的损失难以挽回。
- 处理好通知还能减少客服工单、提高消息到达率与打开率,数据改善直接反映在核心指标上。
通知“干扰”常见表现(先认清问题)
- 重复推送或短时间内多次提醒同一事件
- 推送内容和用户当前场景无关或显得骚扰
- 通知时间分布混乱(深夜/清晨打扰)
- 客户端收到延迟或丢失(到达率低)
- 权限提示请求时机不当,导致用户拒绝
- 无法在服务器端合并/去重,导致炸群
从产品到工程:一步步修稳的路线图 1) 产品与体验层(能最快看到效果)
- 统一通知策略:何时发、给谁发、发什么样的频次上限(频率上限、冷却期)。
- 分层优先级:紧急/重要/普通三类,并让用户可自定义偏好。
- 采用通知摘要与合并:把短时间内的多条事件合并为一条日内摘要。
- 权限请求时机设计:延迟到用户完成关键动作后再请求推送权限,给出明确价值提示。
- 时间窗控:按用户时区和活跃时间推送,避免打扰休息时间。
2) 工程与架构层(把底座做稳)
- 去重与合并:使用唯一消息ID、collapse_key或自定义合并策略,避免重复投递。
- 可靠投递策略:消息队列、重试机制、指数退避、幂等处理,确保稳定性并避免重复。
- 优化优先级与TTL:为不同类型消息设置合适的优先级与生存时间,避免过期消息再打扰。
- 服务端节流:对同一用户短时内发推进行限流,支持批量汇总发送。
- 客户端确认与状态回传:建立送达/打开/失败的回传,便于监控与智能决策。
- Web Push 注意:管理订阅失效、合理使用 Service Worker、实现服务器端的过期订阅清理与 VAPID 配置。
3) 数据与监控(把问题看得清、改得快)
- 关键指标:送达率、打开率、退订率、投诉率、平均延迟、重复率。
- 预警规则:当退订率或投诉率上升、送达率下降时触发告警并自动拉回流量。
- A/B 测试:对频率、文案、发送时间做实验,基于数据优化策略。
快速可落地的“小时级”清单(立马能做的事)
- 给所有推送加上唯一ID与去重逻辑。
- 对高频通知启用合并/日摘要策略。
- 在权限请求前展示价值说明并延后触发请求。
- 设定每用户每小时/每天的最大通知数。
- 增加夜间静默窗或允许用户自定义免打扰时间段。
看起来繁多,先做这三步就行
- 先把去重与合并机制上好:立刻消灭重复骚扰。
- 再加上频率控制:短时间内的洪水式通知不再发生。
- 最后优化权限请求时机与通知设置入口:保留用户长期通路。