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
相关产品推荐
相关产品推荐

