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

Android Google登录是否需OAuth同意屏幕?内部测试登录失败求助

问题解答

1. Android Google登录是否需要配置OAuth同意屏幕?

是的,所有使用Google登录的Android应用都必须配置OAuth同意屏幕。当应用请求用户Google账户权限(比如获取个人资料、邮箱)时,Google会通过这个屏幕让用户确认授权。

不过调试阶段有个特例:如果只用Firebase Auth的Google登录,且只请求默认的profile和email权限,用调试密钥签名的包可能暂时能正常运行,但进入内部测试或正式发布后,必须完成OAuth同意屏幕的配置——要么审核通过,要么设置为“测试”状态并添加指定测试用户。你现在的同意屏幕处于待审核状态,这会导致未加入测试名单的内部测试用户无法登录。

2. 为什么Firebase Test Lab登录成功但内部测试失败?

Firebase Test Lab的测试环境有特殊性:

  • 它用的是Google官方测试账户,这些账户默认在OAuth同意屏幕的测试白名单里,哪怕你的同意屏幕待审核,也能正常授权。
  • 但你的内部测试用户如果没被添加到OAuth同意屏幕的测试用户列表,就会因为同意屏幕未通过审核而被拒绝登录。

3. 可尝试的排查和修复步骤

  • 添加内部测试用户到OAuth测试名单:登录Google Cloud Console的OAuth同意屏幕页面,把内部测试用户的邮箱加入“测试用户”列表。哪怕同意屏幕还在审核,测试用户也能正常使用登录功能。
  • 核对签名指纹:
    • 确认Firebase项目里注册的SHA-1指纹包含内部测试打包用的签名密钥指纹——如果用了Play的应用签名服务,要加Play Console提供的“应用签名密钥”SHA-1,不是本地的上传密钥。
    • 重新下载google-services.json后,确保已经替换到项目app目录,并且同步了Gradle。
  • 检查OAuth客户端配置:
    • 确认Google Cloud Console里有对应Android应用的OAuth客户端(Firebase自动创建或你手动创建的),包名和签名指纹必须和应用完全匹配。
    • 如果手动创建了网页客户端,要确保Firebase Auth的Google登录配置里正确关联了这个客户端ID。
  • 验证权限范围:确认Google登录请求的权限范围和OAuth同意屏幕里声明的一致,请求未声明的权限会导致授权失败。
  • 查看错误日志:在内部测试设备上通过Logcat查看Google登录的错误码(比如GoogleSignInStatusCodes的10代表客户端ID不匹配,7代表签名指纹不匹配),能精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 16:50:08