1. 客户端注册
**应用安装后,客户端(例如Android或iOS设备)会向Firebase Cloud Messaging(FCM)发送注册请求。
2. 获取FCM令牌
**FCM返回一个唯一的注册令牌(Registration Token),这个令牌用于标识设备。
3. 服务器存储令牌
**服务器同时也会将该令牌存入数据库,以便后续推送消息。
4. 服务器发送消息
**当需要推送时,服务器会调用FCM的API并指定目标设备的令牌。
**推送消息包括两种:
/通知消息(Notification Message):用于显示推送通知。
/数据消息(Data Message):用于应用内部处理,不会自动显示通知。
5. FCM服务器处理消息
**FCM会检查设备的状态(在线/离线)并进行消息分发。
/如果设备在线,消息会被立即传输。
/如果设备离线,消息会暂时存储在FCM服务器,等设备上线后再推送(最多存储28天)。
6. 设备接收消息
**设备同样会根据运行状态处理消息。
/如果应用在运行,应用可以直接接收数据消息并处理,例如更新UI或存储数据。
/如果应用在后台/被关闭:
---通知消息:会自动显示在系统通知栏。
---数据消息时:系统可能不会直接交给应用,具体行为取决于平台和系统版本。
1. 设备注册
**应用启动时,向iOS系统请求推送权限。
**用户同意后,iOS会向APNs请求一个设备令牌(Device Token)。
2. 获取设备令牌
**iOS系统将Token返回给应用,设备令牌同样也是每个设备的唯一标识,用于接收推送消息。
3. 服务器存储令牌
**应用将设备令牌发送到开发者服务器并存储,以便后续推送。
4. 服务器向APNs发送推送请求
**开发者服务器使用APNs的API(HTTP/2或旧版binary协议)发送推送消息。
**推送请求包括:
//设备令牌
//消息内容
//优先级
//有效期
5. APNs处理并分发消息
**APNs检查设备状态(在线/离线)。
--如果设备在线:立即发送推送。
--如果设备离线:暂时缓存推送(具体时长由Apple决定)。
--如果设备Token失效:APNs会通知开发者,表示用户可能卸载了应用。
6. 设备接收推送
**应用在前台:消息交给应用处理,不会自动显示通知。
**应用在后台/锁屏:iOS自动显示推送通知。
文章为作者独立观点,不代表DLZ123立场。如有侵权,请联系我们。( 版权为作者所有,如需转载,请联系作者 )

网站运营至今,离不开小伙伴们的支持。 为了给小伙伴们提供一个互相交流的平台和资源的对接,特地开通了独立站交流群。
群里有不少运营大神,不时会分享一些运营技巧,更有一些资源收藏爱好者不时分享一些优质的学习资料。
现在可以扫码进群,备注【加群】。 ( 群完全免费,不广告不卖课!)
发表评论 取消回复