googlePlay使用OAuth2.0保护账号安全,且与firebase相关。如果配置错误,会出现error code比如:
10: auth,如clientId不对; 7: 网络或墙的问题; 12500:签名问题。
正确配置流程
Release
请按照如下步骤操作,顺序错误则可能会导致json文件不同。
-
创建firebase项目,相当于创建了一个google cloud激活了firebase功能的项目;
-
证书指纹
登录play.google.com/console/
上传密钥证书,指的是本地打包上来的,jks签名上传。
应用签名密钥证书, google play会将aab二次签名。后面步骤,使用的都是应用签名密钥证书。 -
firebase console配置app fireBase信息:
https://console.firebase.google.com/
下载google-services.json,核对本地代码中,app/src/release/google-services.json是否一致。
不要随意下载,会重置信息,又得配置后面2个步骤。 -
配置Android Key
https://console.cloud.google.com/apis/credentials
一般情况,Android Key能够自动生成,就是firebase点击一次download json就会触发更新出来一个新的。所以前面一个步骤不要随意点击下载。下载后,需要等待一会儿,这边刷新自动创建。
-
点击进入Android Key:
选成android应用。Add包名+指纹。 -
OAuth2.0客户端ID
OAuth,AndroidClient如果能自动创建,就使用自动创建的,如果没有自动创建,则手动创建一个OAuth客户端。配置包名+指纹。
类似的,OAuth,还需要创建WebClient(如果没有自动创建。)
https://developers.google.com/identity/one-tap/android/get-saved-credentials?hl=zh-cn
这个WebClient的ID才是用来登录使用的,坑的不要不要的。
使用这个webClient ID,传入代码的请求登录处:
总结
第一步,play确认二次签名;
第二步,firebase添加签名并下载json;
第三步,配置Cloud androidKey,一般等待自动生成,要一会儿;
第四步,配置Cloud OAuth androidClient,webClient。如果没有自动创建则手动创建;
第五步,将WebClientID配置到请求登录代码中,否则可能会报code:10 error,因为webId不对。
Debug
对于Debug版,我们不会上googlePlay的,故而不会二次签名。只做发布蒲公英。
如下:
第1步,firebase切换到app的debug项目,使用本地debug签名并下载json;
第2步,配置Cloud androidKey,使用本地debug签名来配置。一般等待自动生成,要一会儿;
第3步,配置Cloud OAuth androidClient,webClient。如果没有自动创建则手动创建;
第4步,将WebClientID配置到请求登录代码中,否则可能会报code:10 error,因为webId不对。
另外,上架google app注意,不要直接发布内测。
先通过资源管理器上架。然后,手动下载通用签名apk,自测。有问题可以删除aab。
没问题再发布,否则,又得追加versionCode重新发。