Firebase-Google Auth(login): com.google.android.gms.common.api.ApiException: 10

目录

1、原因情况

2、Firebase 对应应用 SHA-1重新设置Google提供的SHA-1

3、Google 凭据配置不正常

4、登录API所需的客户端ID (web_client_id)问题


原因:SHA-1不正确、凭据设置问题、发送的client_id不正确

1、原因情况

        SHA-1是根据包签名生成的一个字符串数据,你要查看自己的apk的包签名具体是什么,是不是用错了包签名?

        如果你是发布到谷歌平台的,要检查凭据里的信息是不是都用到了Google Console提供的SHA-1,以及firebase的SHA-1也是要用谷歌提供的。

2、Firebase 对应应用 SHA-1重新设置Google提供的SHA-1

我的情况是上传了Google Console发布(内部测试),这个发布出去后Google自己会生成一个包签名重新签名,所以SHA-1就不正确了(已经不是我们自己的包签名SHA-1了)

https://play.google.com/console

进入google console管理页面,打开你的应用,找到左边的应用完整性

 找到这个上传密钥证书,使用它下面里面的SHA-1和SHA-256,填充回对应firebase管理页面的应用配置SHA-1里。

https://console.firebase.google.com/

如果我们不发布到google console,直接打包出apk文件,此时的包签名就是用我们设置的包签名,而不是google给我们的这个了,所以,正常测试不走google发布那流程的话 就用我们自己的SHA-1,否则要用google提供的~ 

3、Google 凭据配置不正常

 https://console.cloud.google.com/

具体是这个凭据的地方:https://console.cloud.google.com/apis/credentials 

在第一步获取“上传密钥证书”SHA-1里的上面还有一个应用签名密钥证书

 它的SHA-1证书指纹需要填充到

找到你应用包对应的

​ Android client for xxxxx (auto created by Google Service)​

如果找不到可以自行创建一个Android凭据 

 软件包名称就是包名, com.xxx.xxx

4、登录API所需的客户端ID (web_client_id)问题

登录发的web_client_id必须是使用

​ Web client (auto created by Google Service)​

这个的客户端ID,并且要将Firebase Authentication配置Google登录那的Web SDK配置设置成这个ID

 对应填写上去。

做完上述操作后记得要重新导出google-services.json文件。 

猜你喜欢

转载自blog.csdn.net/qq_39574690/article/details/127528882