我已经搜索并尝试了Google Developers网站,Stack Overflow和其他有用博客文章中提供的几乎所有内容。但没有什么对我有用。
我的应用已成功登录Google帐户,但当我在应用中进行了一些基本更改(根本与Google API无关)并在Play商店上传了更新后的APK, Google登录之后没有工作。
当我从Android Studio运行应用程序时(使用debug
build-variant和release
build-variant),登录就像魅力一样。然后我生成 signed-apk 并将其上传到Play商店。当我从Play商店安装应用时,它没有登录并提供 statusCode = DEVELOPER_ERROR
我已在Google Cloud Console上创建了该项目,在该项目中为Android创建了OAuth 2.0客户端ID,并在该客户端ID中添加了SHA1
(为发布生成)。然后我下载了google-services.json
文件并将其放在我项目的 app 文件夹中。
我似乎没有错过任何东西。但登录仍然无法正常工作。请让我知道问题所在。
P.S。:Firebase也集成到我的Android项目中。
以下是GoogleApiClient
onCreate()
的设置代码
googleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(MainActivity.this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, signInOptions).build();
googleApiClient.connect();
这是单击“登录”按钮时调用的方法。
public void signIN() {
Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
startActivityForResult(intent, REQ_CODE);
}
这是来自onActivityResult()的代码
if (requestCode == REQ_CODE) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if(result.isSuccess()){
GoogleSignInAccount account = result.getSignInAccount();
//Do something
}else{
Toast.makeText(getApplicationContext(), "Unable to Sign in. Try again.", Toast.LENGTH_SHORT).show();
}
Log.d("GoogleResult", result.getStatus().toString());
}
答案 0 :(得分:3)
您的代码没有错。
显然,谷歌推出了一款名为" App sign"进入Google Play开发者控制台。
根据this answer(对我有用!),你必须去发布管理>应用程序在Google Developer Console中登录。
你看到"应用签名证书"和"上传证书"。应将SHA-1和调试SHA-1添加到Firebase控制台。
答案 1 :(得分:0)
我曾经遇到过同样的问题。这是因为我正在使用其他一些OAuth2.0客户端。
这是你应该做的:
使用oauth2.0 id,您可以找到此键的值
打开google-services.json
project-info > client > oauth_client[1] > client_info
确保在firebase常规设置中添加了发行版和调试密钥的SHA1指纹,并使用更新的.json文件。