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

Expo推送通知配置报FCM服务密钥无效问题咨询

问题根因

调用Notifications.getExpoPushTokenAsync被要求传入experienceId、推送时报FCM服务密钥缺失错误,两个问题同源:当前异常应用没有被Expo服务识别为绑定到对应Expo账号下的合法项目。
Expo Push在Android端的投递底层默认依赖FCM通道,Expo官方会为所有正确绑定账号的托管项目提供公共FCM配置,不需要开发者自行申请FCM服务;如果项目未完成账号关联校验,Expo服务无法为其匹配公共FCM配置,就会抛出你看到的凭证错误,同时强制要求传入experienceId做项目归属校验。

修复步骤
  • 校验experienceId参数准确性
    传入的experienceId格式为@账号标识/项目slug,必须和Expo侧配置完全匹配:
    • 个人账号下的项目,账号标识为你的Expo个人用户名
    • 组织下的项目,账号标识为对应Expo组织的ID
    • 项目slug必须和项目app.json/app.config.js中expo.slug字段值完全一致,大小写、特殊字符不能有偏差
  • 完成本地项目与Expo账号的关联
    如果你使用裸工作流、或者本地构建的安装包:
    1. 在项目根目录执行expo login,确认当前登录的Expo账号拥有目标项目的访问权限
    2. 执行eas init,按照提示将本地项目与Expo后台对应slug的项目做绑定
    3. 调试阶段不要直接离线打开安装包,需要先执行expo start --dev-client启动本地开发服务,再打开调试应用,离线状态下Expo无法完成项目归属校验,会持续触发FCM配置读取失败
  • 修正Expo后台推送配置
    1. 登录Expo控制台进入对应项目的推送配置页,检查Android推送配置板块:如果之前手动填写过自定义FCM密钥,直接清空内容后保存,Expo会自动回退使用官方公共FCM配置,不需要你自行申请FCM相关凭证
    2. 配置修正后,重新调用Notifications.getExpoPushTokenAsync生成全新的Expo推送Token,之前关联失败生成的旧Token直接废弃,使用新Token测试推送即可
  • 多项目调试场景兼容
    如果你在同一开发环境切换多个Expo项目调试,先执行expo whoami确认当前登录账号匹配目标项目,再清除测试设备上的应用缓存后重启,避免本地缓存了其他项目的配置导致参数校验失败。

补充说明:即便你不主动对接FCM服务,Android端Expo Push依然会通过FCM通道完成消息投递,只是Expo官方托管了公共FCM凭证,不需要开发者额外做FCM侧的开发、配置工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:48:16