应用端实验室移动应用
00 / 00

推送通知

移动端推送通知的最小链路、权限弹窗、token 和生产前检查

推送通知不是第一版 App 必须做的。只有当用户真的需要提醒——订单、任务、消息、会员状态变化——再接入推送。

你将学到

  • 本地通知和远程推送的区别,以及怎么选
  • 推送的完整链路从权限到发送要经过哪些步骤
  • 接入推送前需要问自己的四个问题
  • 生产环境推送需要准备的材料和验收清单

本地提醒和远程推送先分清

Todo 到期提醒、每日晨报、习惯打卡这类场景,很多时候可以先用本地通知:App 在用户授权后,把提醒时间排进设备。订单状态、多人消息、服务端任务完成这类场景,才需要远程推送。

类型适合场景需要准备
本地通知Todo 提醒、每日晨报、定时复盘用户授权、提醒开关、App 内调度逻辑
远程推送服务端事件、多人协作、支付状态变化EAS projectId、APNs / FCM 凭据、设备 token、后端发送逻辑

如果只是 MVP 的提醒功能,优先从本地通知开始。等确认用户真的依赖通知,再接远程推送和后端 token 管理。

推送链路

不管本地还是远程,推送的核心链路都是四步:用户授权、获取 token、后端保存、发送通知。

用户授权:请求通知权限。时机要合理,不要在打开 App 第一秒就弹一个没有上下文的权限框。

App 获取 token:授权成功后拿到设备的 push token,作为后续发送的目标标识。

后端保存:把 token 和当前用户绑定存到服务端。退出登录、卸载、token 失效时要清理。

发送通知:服务端根据业务事件触发通知。测试阶段先用真机验证到达率和时区。

接入前先问

在写第一行推送代码之前,先想清楚这几个问题:

问题原因
用户为什么需要通知没价值的通知会降低留存
哪些事件触发通知避免滥发
用户能不能关闭通知必须可控
失败怎么处理推送不是可靠消息队列

需要准备什么

准备项用途备注
通知场景和文案决定什么时候打扰用户先写清每天、每周、即时触发哪些通知
用户开关让用户能关闭通知至少区分 Todo、晨报、系统通知
Expo / EAS projectId获取 Expo push token远程推送需要
iOS / Android 推送凭据APNs、FCM 发送能力正式构建前准备
后端 token 存储把用户和设备绑定退出登录、卸载、token 失效要清理
真机测试设备验证权限、到达率和时区模拟器不能覆盖所有推送行为

验收清单

  • 首次请求权限的时机合理,有上下文说明
  • 用户拒绝通知后,页面能说明怎么重新开启
  • Todo 到期提醒或晨报通知能在真机按时触发
  • 远程推送 token 能保存到当前用户,退出登录后不会继续绑定旧用户
  • iOS / Android 的通知标题、正文、跳转目标和时区都正确
  • 后端发送失败、token 失效、用户退订时不会反复重试打扰用户

通知上线前要有退订路径。用户关闭某类通知后,App 和服务端都要尊重这个选择。

下一步

通知接入之后,还需要知道怎么衡量用户行为和排查崩溃,继续看统计与崩溃排查

想和其他创造者交流?

这篇文档有问题?