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

Expo+Firebase谷歌登录报错DEVELOPER_ERROR求助

解决Expo+Firebase谷歌登录的DEVELOPER_ERROR问题

针对你遇到的com.google.android.gms.common.api.ApiException: DEVELOPER_ERROR错误,结合Expo+Firebase的环境特性,以下是具体排查和修复步骤:

  • 确认Expo专属SHA-1指纹已添加到Firebase
    Expo开发环境使用官方默认签名,而非本地debug.keystore的签名。运行以下命令获取Expo项目的SHA-1和SHA-256指纹:

    expo fetch:android:hashes
    

    将输出的两个指纹全部添加到Firebase项目设置(项目设置→常规→应用→添加指纹)中,替换之前用本地keytool获取的指纹。

  • 检查Google OAuth客户端ID配置
    进入Firebase关联的Google Cloud Console,导航至「API和服务→凭据」:

    • 确保存在Android类型的OAuth客户端ID,其包名与app.json中android.package字段完全一致,SHA-1使用上述Expo获取的指纹;
    • 确保存在Web应用类型的OAuth客户端ID,后续代码初始化会用到这个ID。
  • 更新google-services.json文件
    在Firebase项目设置中重新下载最新的google-services.json文件,替换项目中的旧文件,确保配置同步最新的指纹和客户端ID。

  • 补充GoogleSignin初始化配置
    你的代码缺少GoogleSignin的初始化步骤,需添加以下配置(使用Web应用类型的OAuth客户端ID):

    import * as GoogleSignin from '@react-native-google-signin/google-signin';
    
    // 在组件初始化或App启动时调用
    GoogleSignin.configure({
      webClientId: '你的Web应用OAuth客户端ID',
      offlineAccess: false,
    });
    

    没有正确配置webClientId会导致无法获取有效的idToken,进而触发DEVELOPER_ERROR。

  • 清除缓存并重启项目
    运行以下命令清除Expo缓存,避免旧配置残留:

    expo r -c
    

    之后重新启动项目测试登录功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:22:31