我的应用程序已上线,我很确定它不会发出SHA密钥,有时用户无法通过Google登录到应用程序,但有时可以。
我确定现在不是开发人员问题,因为几个月来我们没有更改登录流程中的任何内容。之前它工作正常,但是从几天前开始就没有效果。
我们已经集成了crashlytics,我将告诉您代码发生了什么。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
if(resultCode == Activity.RESULT_OK) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result != null) {
handleSignInResult(result);
}
} else {
showToast(getBaseActivity().getResources().getString(R.string.something_went_wrong));
hideProgressDialog();
}
}
}
这里的预期结果代码为-1,但我收到0,这是RESULT_CANCELED,通常在SHA密钥不匹配时返回,但是我们没有更改代码中的任何内容,这会导致此问题,对于少数用户,对于已签名的应用程序,也会发生这种情况以及调试应用仅供参考,我们使用相同的密钥库进行调试和签名apk,因此SHA始终相同。
现在,这似乎已由Google修复,不再面临此问题。