You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase推送通知如何唤醒已关闭应用?具体由哪个服务实现?

Firebase Cloud Messaging 应用关闭状态下的唤醒机制

核心逻辑总览

应用完全关闭后自身进程已被系统回收,FCM的唤醒能力完全依赖操作系统内置的系统级推送服务实现,不需要应用自身进程驻留后台。

各平台具体唤醒实现&负责服务

安卓(海外内置Google服务的设备)

  • 执行唤醒的核心服务是系统内置的Google Play服务(Google Play Services)中的FCM专属系统组件
  • 具体唤醒流程:
    1. FCM服务器将推送消息下发到设备的Google Play服务
    2. Google Play服务校验消息的目标包名、签名等合法性信息
    3. 校验通过后触发对应操作:
      • 通知类消息:直接在系统通知栏展示通知,用户点击通知时由Google Play服务主动拉起目标应用
      • 数据类消息:直接唤醒目标应用的FirebaseMessagingService后台服务,触发应用自定义的消息处理逻辑,无需用户点击

国内无Google Play服务的安卓设备需要接入对应厂商推送通道(小米、华为、OPPO等推送服务),执行唤醒的主体为对应厂商内置在系统中的推送服务,逻辑和上述流程一致。

iOS平台

  • 执行唤醒的核心服务是系统自带的苹果推送通知服务(APNs),FCM仅作为中转层将开发者的推送请求转发给APNs,本身不参与唤醒操作
  • 具体唤醒流程:
    1. FCM将推送请求转发到APNs服务器,由APNs将消息下发到对应iOS设备
    2. APNs校验消息合法性后,先在系统通知栏展示通知
    3. 用户点击通知时由APNs主动拉起目标应用,触发应用的推送接收回调;如果应用开启了后台刷新权限,部分场景下APNs也会在消息到达时静默唤醒应用执行短时间的后台逻辑

常见误区

应用关闭后FCM客户端SDK已经随应用进程停止运行,不存在SDK自行唤醒应用的情况,你在应用内自定义的FirebaseMessagingService等服务仅会在系统唤醒应用后被调用,不属于唤醒操作的执行主体。

内容的提问来源于stack exchange,提问作者user1034912

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:51:00