为什么需要站内信

用户错过推送怎么办

入职第三周,产品经理小李找我讨论消息中心的设计。

「用户打开 App,想看最近的通知,但是通知已经推送过了,如果错过了就没法再看了。」

推送是瞬间的,用户可能:

  • 手机静音,没听到。
  • 当时没看手机。
  • 通知中心清空了。
  • App 被杀后台,推送没收到。

所以,我们需要一个持久化的站内消息系统,让用户随时可以查看历史通知。

站内信 vs 推送

特性推送站内信
时机即时永久存储
可见性需要用户当时看随时可查看
存储不存储数据库存储
已读状态不跟踪跟踪已读未读
形式弹窗 / 通知栏App 内列表

两者是互补的:

  • 推送:提醒用户(即时、打扰)。
  • 站内信:记录历史(持久、克制)。

站内信的角色

站内信不只是「推送的备份」,它有自己的价值:

  • 消息中心:用户主动查看所有通知。
  • 已读管理:区分已读 / 未读,驱动红点。
  • 降级通道:推送失败时,用户打开 App 仍能看到。

一句话

站内信是通知系统的「持久层」:推送负责提醒,站内信负责记录。两者互补,缺一不可。

下一节看站内信的数据库设计。

发现内容有问题?

告诉我们哪里需要改进。