如何在React Native Expo managed workflow中集成Firebase Cloud Messaging接收通知
Expo Managed Workflow 接收FCM推送的实现方案
完全可以在不切换到Bare Workflow的前提下实现FCM推送接收,不需要使用原生的@react-native-firebase/app包,直接使用Expo官方提供的expo-notifications库即可。
实现步骤
- 第一步:在Firebase控制台完成项目创建,分别下载安卓端的
google-services.json和iOS端的GoogleService-Info.plist凭证文件,放置到项目根目录。 - 第二步:修改项目
app.json配置,关联Firebase凭证,参考配置如下:
{ "expo": { "android": { "googleServicesFile": "./google-services.json", "useNextNotificationsApi": true }, "ios": { "googleServicesFile": "./GoogleService-Info.plist" } } }
- 第三步:安装依赖包,执行命令:
npx expo install expo-notifications - 第四步:在业务代码中调用
expo-notifications的相关接口获取设备推送令牌,将令牌上传至你的业务服务端,后续服务端直接调用FCM官方接口向对应令牌发送通知即可。
注意事项
- 默认公开版Expo Go不包含Firebase相关原生配置,开发阶段需要通过
eas build构建自定义开发客户端,或者使用EAS Preview版本进行功能测试。 - 构造FCM推送的payload时需要符合
expo-notifications的规范要求,否则通知可能无法正常弹出或解析。 - iOS端需要提前在Apple开发者平台开启推送能力,生成对应推送证书并关联到Firebase项目,才能正常接收iOS端推送。
内容的提问来源于stack exchange,提问作者Muhammad Abdullah Usama
相关产品推荐
相关产品推荐

