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

React Native应用杀死状态下FCM通知无法接收问题咨询

我之前碰到好几个开发者跟你遇到一模一样的问题——FCM控制台发的通知啥状态都能收到,自己后台发的一杀应用就没影。核心原因大多是后台消息的格式没踩对FCM的要求,或者Android/iOS的配置漏了关键项,毕竟FCM控制台会自动帮你补全必要参数,但自己写接口很容易忽略。下面分平台给你一步步排查解决:

Android端排查点

  • 补全必要权限与组件配置
    你目前的权限清单里缺了两个关键权限,还有FCM消息接收器的配置,赶紧加上:
    权限部分新增:
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
    还要在application标签内添加FCM的服务和接收器配置:
    <service android:name="com.evollu.react.fcm.MessagingService" android:enabled="true" android:exported="true">
      <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
      </intent-filter>
    </service>
    <receiver android:name="com.evollu.react.fcm.FIRLocalMessagingPublisher"/>
    <receiver android:name="com.evollu.react.fcm.FIRSystemBootEventReceiver">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
        <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
      </intent-filter>
    </receiver>
    
  • 强制设置消息高优先级
    Android应用被杀死后,只有高优先级的通知消息才能被系统唤醒推送。后台发送时必须指定priority: "high"(或者Android专属的priority: "max"),而且消息必须包含notification字段(不能是纯数据消息)。

iOS端排查点

  • 配置APNs高优先级与正确负载
    iOS杀死状态下,推送必须满足两个条件:一是APNs优先级设为10,二是负载里必须包含aps字段和notification字段。后台发送的消息格式要类似这样:
    {
      "notification": {
        "title": "你的通知标题",
        "body": "你的通知内容"
      },
      "apns": {
        "payload": {
          "aps": {
            "alert": {
              "title": "你的通知标题",
              "body": "你的通知内容"
            },
            "content-available": 1
          }
        },
        "headers": {
          "apns-priority": "10"
        }
      },
      "priority": "high",
      "to": "目标设备的FCM Token"
    }
    
  • 开启后台推送模式
    打开Xcode,找到你的项目 -> Capabilities -> Background Modes,勾选Remote notifications选项,这是iOS杀死状态下接收推送的必要配置。
  • 确认推送权限与证书
    确保用户在iOS系统设置里给你的应用开启了所有通知权限(包括锁定屏幕、通知中心等);同时后台使用的FCM服务器密钥要和你的APNs证书环境匹配(开发环境用开发证书,生产环境用生产证书)。

通用注意事项

  • 不要用纯数据消息:不管Android还是iOS,应用被杀死时,纯data字段的消息不会触发系统通知,必须包含notification字段(或者iOS的aps.alert)。
  • 测试环境要对应:iOS必须用真机测试(模拟器无法接收杀死状态的推送),Android测试时要完全退出应用(划掉后台进程),而不是仅按Home键挂起。
  • 升级react-native-fcm版本:如果你的库版本较老,可能存在兼容性问题,建议升级到对应RN版本的最新稳定版。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:43:06