在Android App 12500中实施Google登录时出错

问题描述 投票:0回答:4

谷歌登录时,我收到这个奇怪的错误12500(有时是12502)代码。我看到一些与12501代码相关的帖子,似乎都没有用。还尝试添加requestIdToken(web_client_id),没用。请帮忙!

我记录了响应状态,这里是:

Status{statusCode=unknown status code: 12500, resolution=null}

TIA

android google-login
4个回答
1
投票

你可以点击这个链接,你将从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。


0
投票

实际上,我最近有同样的问题后来我知道谷歌播放服务版本没有更新。通过这个问题在堆栈溢出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);
    }

试试这个并告诉我你是否有查询。我通过这种方法解决了这个错误。


0
投票

发布:

  1. 在android工作室。 Build - > Generate Signed APK ...然后单击Next
  2. 复制密钥库路径和密钥别名。
  3. 打开终端并输入: keytool -list -v -keystore“密钥库路径”-alias“密钥别名”
  4. 输入您的密钥密码,这将打印出您的版本SHA1。

将SHA1密钥放入需要的任何位置

指:How to create SHA1 for Release


0
投票

事实证明,在谷歌API控制台中,它要求获得OAuth同意,并且它显示了一个弹出窗口以完成相同的操作。我点击了那个对话框并做了一些程序。你必须进入

  • 电子邮件地址
  • 应用程序图标
  • 域名网址
  • 您网站的条款网址
  • 您网站的隐私政策

然后提交同意,成功后几分钟后,Google登录应该可以正常运行。

干杯。

© www.soinside.com 2019 - 2024. All rights reserved.