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

Flutter应用Google One Tap登录开发正常,Google App Signing后生产环境失效

解决方案:Flutter Google One Tap登录生产环境失效问题

针对你遇到的「调试正常、Play商店安装后无法登录,报错Developer console is not set up correctly」的问题,以下是几个针对性的排查和解决方向:

1. 核对Google Cloud Console的OAuth客户端配置

Firebase自动同步的OAuth客户端有时会遗漏Play应用签名对应的条目:

  • 打开Google Cloud Console并进入你的项目
  • 导航到「API和服务」>「凭据」
  • 确认存在两个Android OAuth客户端ID:一个对应调试SHA-1,一个对应Google App Signing的SHA-1(重点是这个,而非上传证书的SHA-1)
  • 如果没有App Signing对应的客户端,手动创建:
    • 点击「创建凭据」>「OAuth客户端ID」
    • 选择「Android」,输入应用包名,粘贴Play Console里的「应用签名证书」SHA-1,完成创建

2. 验证google-services.json的完整性

确保下载的配置文件包含所有签名对应的客户端信息:

  • 打开android/app/google-services.json,查看client数组
  • 每个client的oauth_client字段里,certificate_hash要和你添加到Firebase的SHA-1完全匹配(包括大小写)
  • 如果缺少App Signing的条目,重新从Firebase控制台下载最新的google-services.json,替换后重新构建上传

3. 确认Firebase中的SHA-1是否正确

  • 进入Firebase控制台的「项目设置」>「应用」>「Android应用」
  • 检查已添加的SHA-1列表,确保包含:
    • 调试证书SHA-1
    • 上传证书SHA-1(如果你用自己的证书上传)
    • Google App Signing的SHA-1(这是生产环境实际使用的签名,必须存在)
  • 注意区分SHA-1和SHA-256,不要贴错哈希值

4. 检查Play商店的应用签名状态

  • 进入Play Console的「应用签名」页面,确认「应用签名证书」的SHA-1与Firebase中添加的完全一致
  • 如果是首次发布应用,确认已经启用Google App Signing,且没有手动修改过签名配置

5. 清除用户设备的缓存

测试时让用户执行以下操作:

  • 打开手机设置>应用>Google Play服务>存储>清除缓存
  • 重启应用后再次尝试登录

6. 检查代码中的初始化逻辑

确保生产环境没有硬编码调试相关的参数:

  • 不要在Google One Tap或Firebase Auth的初始化代码中指定固定的客户端ID或SHA-1
  • 使用默认的初始化方式,让google-services.json自动加载配置

如果以上步骤都试过还是不行,建议对比调试包和生产包的签名信息:

  • 下载Play商店的安装包,用keytool命令提取SHA-1,和Play Console的应用签名SHA-1对比,确认生产包确实使用了正确的签名证书

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 19:03:21