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

Flutter应用iOS端FCM通知失效,Android端正常工作求助

iOS Flutter FCM推送无响应&服务端报错排查方案

核心问题定位

你遇到的Request contains an invalid argument和Requested entity was not found,大概率是iOS设备令牌(token)无效或者FCM与APNs的配置链路未打通,结合你已完成基础配置,以下是Flutter侧可操作的排查修复步骤:

分步修复方案

1. 验证iOS设备令牌有效性

  • iOS模拟器默认不支持APNs推送,必须使用真机测试(iOS 14+模拟器可手动开启「Push Notifications」权限,但真机测试更可靠)。
  • 在Flutter代码中主动获取并打印FCM令牌,确认令牌非空:
    FirebaseMessaging.instance.getToken().then((token) {
      print("FCM Token: $token");
    });
    
  • 若令牌为空,检查GoogleService-Info.plist的CLIENT_ID、GCM_SENDER_ID等字段是否与Firebase控制台完全一致。

2. 补全iOS推送权限配置

  • 在ios/Runner/Info.plist中添加权限描述(iOS 10+强制要求):
    <key>NSUserNotificationUsageDescription</key>
    <string>需要推送通知提醒您最新消息</string>
    <key>NSRemoteNotificationUsageDescription</key>
    <string>需要远程推送通知提醒您最新消息</string>
    
  • 在Flutter代码中主动请求推送权限:
    await FirebaseMessaging.instance.requestPermission(
      alert: true,
      badge: true,
      sound: true,
    );
    

3. 修正服务端请求参数

  • invalid argument通常是请求体格式错误,确保服务端请求的token为iOS设备的有效FCM令牌,且notification字段符合APNs要求:
    正确请求体示例:
    {
      "token": "你的iOS设备FCM令牌",
      "notification": {
        "title": "测试推送",
        "body": "这是一条FCM测试通知"
      },
      "apns": {
        "payload": {
          "aps": {
            "sound": "default"
          }
        }
      }
    }
    
  • Requested entity was not found多因之前的无效令牌被FCM标记,更换新获取的有效令牌重试即可。

4. 检查Flutter FCM插件配置

  • 确保pubspec.yaml中firebase_messaging为最新稳定版,执行flutter pub upgrade firebase_messaging更新。
  • 验证ios/Podfile中platform :ios, '13.0'(FCM最低要求iOS 13),且pod 'Firebase/Messaging'已正确集成。

5. 重新校验APNs密钥配置

  • 回到Firebase控制台,确认:
    • APNs授权密钥是**推送类型(Push Notification)**的专用密钥
    • Key ID和Team ID与Apple开发者后台完全匹配,无拼写或空格错误
    • 密钥未过期,且已关联到当前App ID

最终验证流程

  1. 卸载iOS设备上的App,执行flutter clean清理项目缓存
  2. 重新构建并安装App,确认控制台打印有效FCM令牌
  3. 使用该令牌重新发送服务端请求,观察设备推送接收情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:42:22