Android Firebase GoogleSignIn未能通过Play Store提供发布版本

Android Firebase GoogleSignIn未能通过Play Store提供发布版本,android,firebase,firebase-authentication,google-signin,googlesigninapi,Android,Firebase,Firebase Authentication,Google Signin,Googlesigninapi,我正在使用Firebase SDK将Google SignIn集成到我的Android应用程序中。 下面是我检查身份验证是否成功的代码。当我通过Play store分发release APK时,身份验证失败,错误代码为10。当使用adb安装或Crahlytics Beta安装时,或者只需单击设备上的“APK”文件,同一版本的APK就可以正常工作 override fun onActivityResult(requestCode: Int , resultCode: Int, data: Inte

我正在使用Firebase SDK将Google SignIn集成到我的Android应用程序中。 下面是我检查身份验证是否成功的代码。当我通过Play store分发release APK时,身份验证失败,错误代码为10。当使用adb安装或Crahlytics Beta安装时,或者只需单击设备上的“APK”文件,同一版本的APK就可以正常工作

override fun onActivityResult(requestCode: Int , resultCode: Int, data: Intent) {

     super.onActivityResult(requestCode, resultCode, data);

    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        var task: Task<GoogleSignInAccount> = GoogleSignIn.getSignedInAccountFromIntent(data);
        try {
            // Google Sign In was successful, authenticate with Firebase
            var account: GoogleSignInAccount = task.getResult(ApiException::class.java)
            firebaseAuthWithGoogle(account);
        } catch (e: ApiException) {
            abslytics!!.logException("google_signin_failed", e)
            // Google Sign In failed, update UI appropriately
            Toast.makeText(this@GoogleSignInActivity, "Google sign in failed: " + e.message, Toast.LENGTH_LONG).show()

            // [START_EXCLUDE]
            updateUI(null);
            // [END_EXCLUDE]
        }
    }
}
override-on-activityresult(请求代码:Int,结果代码:Int,数据:Intent){
super.onActivityResult(请求代码、结果代码、数据);
//从GoogleSignInApi.getsigninent(…)启动Intent返回的结果;
if(requestCode==RC\u登录){
var任务:任务=GoogleSignIn.GetSignedAccountFromIntent(数据);
试一试{
//Google登录成功,通过Firebase验证
变量帐户:GoogleSignInAccount=task.getResult(ApiException::class.java)
firebaseAuthWithGoogle(账户);
}捕获(e:异常){
abslytics!!.logException(“谷歌登录失败”,e)
//Google登录失败,请适当更新UI
Toast.makeText(this@GoogleSignInActivity,“谷歌登录失败:”+e.message,Toast.LENGTH\u LONG.show()
//[开始时不包括]
updateUI(null);
//[完]
}
}
}

将来自google play控制台的SHA-1证书指纹和SHA-256证书指纹添加到firebase控制台。要获取这两个密钥,请转到您的google play console>发布管理>应用程序签名>应用程序签名证书。

对于您的play Store版本,您是否启用了?如果是这样,您是否将生成的SHA-1指纹添加到项目设置中,下载新的google-service.json并重建?@BobSnyder:是的,我确实启用了google Play应用程序签名,并在项目中更新了生成的SHA-1/google-service.json。感谢Rohit的回答和签名过程的提醒。此链接中的“步骤4:向API提供商注册应用程序签名密钥”提供了更多信息: