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

React Native Expo开发的Android应用是否仅从Google Play下载才能接收推送通知?

Expo离线APK无法接收推送问题解答

核心结论

推送通知绝非仅支持上架Google Play Store的应用,未上架的直装APK完全可以正常接收推送,你遇到的问题是Expo推送的底层依赖配置不匹配导致的。

问题根因

Expo推送服务默认基于谷歌Firebase云消息传递(FCM)实现,FCM正常工作需要同时满足两个条件:

  • 运行应用的Android设备内置谷歌移动服务(GMS)框架,且GMS服务处于活跃状态
  • 应用打包时使用的签名信息、包名,和你在Firebase后台绑定的应用配置完全一致

你上架Google Play的版本可以正常收推送,是因为Google Play的正式签名已经在Firebase后台完成了绑定;而你本地打包的APK一般使用Expo默认的测试签名,和Firebase后台的配置不匹配,因此无法触发FCM推送。

直装APK接收推送的解决方案

根据你的目标用户设备类型,可选择对应方案:

方案1:适配带GMS的设备

如果你的用户设备都带有GMS框架,只需要调整打包配置即可:

  1. 确保app.json/app.config.js中正确配置expo.android.googleServicesFile字段,指向你从Firebase后台下载的google-services.json文件
  2. 本地打包时使用和Firebase后台绑定的正式签名文件,不要使用Expo默认的测试签名
  3. 打包时使用生产环境配置执行eas build -p android --profile production命令,不要用测试模式打包

方案2:适配无GMS的国产Android设备

如果你的用户使用的是无GMS框架的国产设备,需要接入对应厂商的系统推送通道:

  • Expo已原生支持华为、小米、OPPO、vivo等主流国产厂商的推送服务,你只需要在对应厂商开放平台注册应用,获取推送配置后填入Expo配置文件即可
  • 配置完成后打包的APK,无需上架任何应用商店,直接安装即可通过厂商系统推送通道接收通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:12:00