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

2024年Expo React Native手机号验证仍跳转Recaptcha问题求助

Expo React Native Firebase手机号验证仍跳转Recaptcha的解决方案

已在Firebase项目常规设置添加SHA1和SHA256证书,但手机号验证仍触发Recaptcha页面,可从以下几个方向排查解决:

1. 确认SHA证书覆盖所有构建场景

Expo开发环境、自定义开发客户端、生产构建使用的SHA证书各不相同,需确保所有场景的证书都已添加到Firebase:

  • 运行expo fetch:android:hashes命令,获取开发环境(Expo Go或自定义开发客户端)和生产构建的SHA1、SHA256哈希值,全部添加到Firebase项目的"项目设置"->"常规"->"应用"->"SHA证书指纹"中。
  • 若使用expo-dev-client自定义开发客户端,需重新构建客户端后,再次确认证书是否正确同步。

2. 检查Firebase Auth配置

  • 进入Firebase控制台的"Authentication"->"登录方法",确保"电话号码"登录已启用。
  • 切换到"高级"标签,确认"Android设备验证"已正确关联你的SHA证书,没有配置遗漏。

3. 验证Firebase配置文件集成

  • 确保google-services.json文件已正确放置在项目的android/app目录下,且文件中的project_id、client_id等参数与Firebase项目完全匹配。
  • 若使用Expo config插件,需在app.json中配置android.googleServicesFile指向正确的文件路径,示例:
    "android": {
      "googleServicesFile": "./google-services.json"
    }
    

4. 代码与权限检查

  • 确认项目已添加必要的Android权限,在app.json的android.permissions中包含android.permission.INTERNET(Expo默认已添加,但需确认未被移除)。
  • 你的signInWithPhoneNumber调用无需手动传入Recaptcha验证器,React Native Firebase会自动处理,但需确保设备支持Google安全网验证。

5. 清除缓存并重新构建

  • 清除Expo缓存:执行expo r -c命令重启开发服务器。
  • 若使用自定义开发客户端,重新构建客户端:eas build --profile development --platform android,确保新构建的客户端使用正确的证书。
  • Firebase后台的配置更改可能存在缓存延迟,等待5-10分钟后再测试。

6. 测试生产构建

开发环境因证书限制可能默认触发Recaptcha,建议构建生产版本(eas build --profile production --platform android)测试,看是否仍出现该问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:45:00