内测阶段最常见的反馈,不是包装不上,而是「版本都发了,怎么没人知道」。很多团队以为收不到推送就是服务器问题,实际上多数案例出在客户端配置与系统策略上。本文按「先通道、再权限、后链路」的顺序给出排查清单,帮助团队快速定位原因。
先分清:通知没到,断在哪一段
一条推送从后台发出到手机亮屏,要经过服务端、推送通道、系统层、应用展示四个环节。排查前先按症状归位:
- 完全收不到:所有人都收不到,大概率是通道配置问题,如推送证书失效、通道未正确集成。
- 部分人收不到:多是个体差异,如通知权限被关闭、设备处于省电模式、应用后台被清理。
- 前台收不到、后台能收到:属于应用层展示策略,检查前台消息处理逻辑即可。
- 角标不更新:角标是独立机制,与通知展示分开配置,不代表推送链路故障。
iOS 侧:APNs 环境与推送证书逐项确认
苹果推送依赖 APNs 通道,逐项确认:
- 确认通知权限:首次启动时用户若拒绝了通知授权,后续推送都不会展示,需引导用户在系统设置中重新开启。
- 确认推送证书与环境匹配:开发与生产环境的证书和服务器地址是分开的,环境接错是最常见的静默失败原因,可先用官网证书检测工具(https://xiafenfa.com/index/certificate)确认证书状态正常。
- 确认设备令牌获取正常:应用每次启动都要重新获取设备令牌(
device token)并向业务后端上报,令牌过期或上报失败都会导致推送丢失。 - 真机验证:模拟器无法完整验证推送链路,务必在真机上完成收包测试。
安卓侧:厂商通道与系统策略的常见坑
国内安卓环境的推送链路更复杂,核心问题是进程被杀后长连接失效。排查要点:
- 优先接入设备对应品牌的厂商通道:主流国产机型在应用后台被清理后,自建通道基本不可达,厂商系统级通道才能保证到达。
- 检查省电与后台管控:部分机型的深度省电模式会限制应用联网与拉起,测试机建议关闭对被测应用的后台限制。
- 通知渠道未开启:安卓
8.0之后通知按渠道管理,某渠道被用户关闭后对应消息不会展示,需在系统通知设置里逐渠道确认。
与内测分发环节的协作约定
推送排查清楚后,还要与分发节奏配合:
- 发新包与发提醒要有时序约定:先确认新版本已启用、二维码与链接可访问,再触发更新提醒。
- 提醒文案带上版本号与主要变更点,方便测试用户判断是否需要重新下载。
- 保留兜底路径:直接把分发链接或二维码发到测试群,不依赖单一触达方式。
常见问题
| 问题 | 说明 |
|---|---|
| 测试用户没开通知权限,能远程打开吗 | 不能,通知授权只能由用户在系统设置中手动开启,团队只能在安装指引里提前说明 |
| 角标数字和推送是同一个机制吗 | 不是,角标由应用单独设置与清零,收到推送但角标不变通常不是故障 |
| 推送正常但点开还是旧版本怎么办 | 属于更新引导问题,应检查版本号配置与应用内更新提示逻辑,与推送链路无关 |
| 如何验证通道本身是否通 | 用后台向单台测试设备定向发送一条测试消息,逐台验证比全量群发更容易定位 |
建议 在内测启动前把推送链路验证列入提测检查项:用一台苹果真机加一台安卓主流机型各发一条定向测试消息,通过后再进入正式内测循环,避免「包发了、人没动」的尴尬。
推送链路稳定只是内测分发的其中一环,版本管理、下载分发与数据回收同样重要。虾分发支持多版本同时在线、随时启停,配合统一二维码双端分发,让测试用户始终拿到正确版本,详情见 https://xiafenfa.com 。