谷歌登录时,我收到这个奇怪的错误12500(有时是12502)代码。我看到一些与12501代码相关的帖子,似乎都没有用。还尝试添加requestIdToken(web_client_id),没用。请帮忙!
我记录了响应状态,这里是:
Status{statusCode=unknown status code: 12500, resolution=null}
TIA
你可以点击这个链接,你将从Play商店控制台获得一个SHA,并在你的firebase控制台上更新它:-https://www.appdome.com/no-code-mobile-integration-knowledge-base/extracting-a-sha-1-fingerprint-from-the-google-play-app-signing-certificate/
然后你不需要在控制台上更新新的apk。
您的firebase控制台上将有3个SHA1: -
1)调试SHA1。 2)释放SHA1。 3)播放商店控制台SHA1。
实际上,我最近有同样的问题后来我知道谷歌播放服务版本没有更新。通过这个问题在堆栈溢出https://stackoverflow.com/a/47645136/7352857
所以我必须在onActivityResult中这样做,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GOOGLE_SIGNIN_ID){
Task<GoogleSignInAccount> googleSignInAccountTask = GoogleSignIn.getSignedInAccountFromIntent(data);
try {
GoogleSignInAccount googleSignInAccount = googleSignInAccountTask.getResult(ApiException.class);
fireBaseAuthenticationWithGoogle(googleSignInAccount);
}catch (ApiException e){
//if user doesn't have updated google play services version
if (e.getStatusCode() == 12500){
try{
// show your own AlertDialog for example:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// set the message
builder.setMessage("This app uses google play services for
signing in")
.setTitle("Do you want to update?");
builder.setPositiveButton("Ok", (dialog, id) -> {
//final String appPackageName = "com.google.android.gms";
final String appPackageName =
"com.google.android.gms&hl=en_IN";
try {
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=" + appPackageName)));
}catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("https://play.google.com/store/apps/details?id=" +
appPackageName)));
}
});
builder.setNegativeButton("Cancel", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
AlertDialog dialog = builder.create();
dialog.show();
}catch (Exception err){
err.printStackTrace();
}
}
}
}else {
// Pass the activity result back to the Facebook SDK
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}
试试这个并告诉我你是否有查询。我通过这种方法解决了这个错误。
发布:
将SHA1密钥放入需要的任何位置
事实证明,在谷歌API控制台中,它要求获得OAuth同意,并且它显示了一个弹出窗口以完成相同的操作。我点击了那个对话框并做了一些程序。你必须进入
然后提交同意,成功后几分钟后,Google登录应该可以正常运行。
干杯。