这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
为什么需要站内信
用户错过推送怎么办
入职第三周,产品经理小李找我讨论消息中心的设计。
「用户打开 App,想看最近的通知,但是通知已经推送过了,如果错过了就没法再看了。」
推送是瞬间的,用户可能:
- 手机静音,没听到。
- 当时没看手机。
- 通知中心清空了。
- App 被杀后台,推送没收到。
所以,我们需要一个持久化的站内消息系统,让用户随时可以查看历史通知。
站内信 vs 推送
| 特性 | 推送 | 站内信 |
|---|---|---|
| 时机 | 即时 | 永久存储 |
| 可见性 | 需要用户当时看 | 随时可查看 |
| 存储 | 不存储 | 数据库存储 |
| 已读状态 | 不跟踪 | 跟踪已读未读 |
| 形式 | 弹窗 / 通知栏 | App 内列表 |
两者是互补的:
- 推送:提醒用户(即时、打扰)。
- 站内信:记录历史(持久、克制)。
站内信的角色
站内信不只是「推送的备份」,它有自己的价值:
- 消息中心:用户主动查看所有通知。
- 已读管理:区分已读 / 未读,驱动红点。
- 降级通道:推送失败时,用户打开 App 仍能看到。
一句话
站内信是通知系统的「持久层」:推送负责提醒,站内信负责记录。两者互补,缺一不可。
下一节看站内信的数据库设计。
发现内容有问题?
告诉我们哪里需要改进。
