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

Xamarin C#中Google登录按钮点击后报错10问题求助

解决Xamarin Android Firebase Google登录错误代码10的问题

错误排查与修复步骤

错误代码10的核心原因是OAuth客户端配置不匹配或签名证书指纹不一致,按以下步骤逐一验证:

1. 核对SHA-1指纹

  • 获取当前应用的SHA-1指纹:
    • 调试版:打开Visual Studio的Android项目属性→签名→选择调试密钥库,点击"查看详细信息"复制SHA-1。
    • 发布版:用打包的正式密钥库执行命令:
      keytool -list -v -keystore 你的密钥库路径 -alias 密钥别名
      
  • 登录Firebase控制台,进入项目设置→应用→添加/更新对应环境的SHA-1指纹。

2. 验证客户端ID正确性

代码中RequestIdToken传入的必须是Firebase控制台中的Web客户端ID(不是Android客户端ID):

// 替换为你项目的Web客户端ID
.RequestIdToken("你的Web客户端ID")

可从google-services.json的client_oauth_client节点下,找到类型为web的client_id。

3. 确认google-services.json配置

  • 右键项目中的google-services.json→属性→生成操作,确保设置为GoogleServicesJson。
  • 从Firebase控制台重新下载最新的配置文件,替换旧文件避免配置过期。

4. 清理重建项目

  • 执行Visual Studio的"清理解决方案"操作。
  • 删除项目根目录下的bin和obj文件夹,再重新生成项目。

5. 同步NuGet包版本

确保Xamarin.GooglePlayServices.Auth和Xamarin.Firebase.Auth NuGet包为最新稳定版,版本不匹配也会引发该错误。

代码优化建议

修改异常捕获逻辑,输出更详细的错误信息,方便定位问题:

catch (Exception e)
{
    string errorDetail = $"登录失败:{e.Message}\n错误详情:{e.ToString()}";
    Toast.MakeText(this, errorDetail, ToastLength.Long).Show();
    Console.WriteLine(errorDetail);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 00:40:03