我在整合Google+ Signin功能时遇到了一些问题。到目前为止,我已经集成了所有必要的G +登录API模块和代码,这些代码运行良好,生成并在使用debug.keystore的keytool生成SHA1之后将google-services.json置于/ app中并将SHA1粘贴到google云端开发人员控制台,但现在只有一个小故障我面临很多天/周,即当我尝试进行设备调试时,每当我点击“G +登录”时,我在LogCat中收到以下错误:
E / GMPM:getGoogleAppId失败,状态为:10
E / GMPM:无法上传。应用测量禁用。
D / SignInActivity:handleSignInResult:false
此handleSignInResult一直返回False,无法登录以进一步获取数据。如果你们中的任何人遇到过这种情况,请帮助我。这个小障碍非常令人抓狂。
谢谢大家。
答案 0 :(得分:7)
您使用的是Plus.API还是Auth.GOOGLE_SIGN_IN_API?后者是最新改版的。看看这里: https://developers.google.com/identity/sign-in/android/sign-in
如果您使用的是Auth.GOOGLE_SIGN_IN_API:
在onActivityResult中,使用类似于下面的代码,您可以获得一个状态代码,该代码由GoogleSignInStatusCodes定义:https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInStatusCodes
@Override
public 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) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
int statusCode = result.getStatus().getStatusCode();
}
}
最常见的问题是错过了正确的OAuth2客户端注册。 (不幸的是,现在,状态代码是INTERNAL_ERROR 8,这没有帮助。)例如看一下这个帖子: Occured an INTERNAL_ERROR when requestEmail from GoogleSignInOptions Android
答案 1 :(得分:4)
正如Sudhanshu Gaur在this post中指出的那样,首先尝试使用您用于create your json configuration file的相同密钥生成已签名的apk。然后将其安装在您的设备上,看看它是否有效。原因是当您单击“运行”时,Android Studio不会对您的apk进行签名 我遇到了完全相同的问题,这个解决方案对我来说很好。
答案 2 :(得分:4)
请确保您已在SHA-1
文件创建中应用了google-services.json
调试密钥。
答案 3 :(得分:2)
如果你在firebase中添加所有SHA-1指纹仍然会出现错误。然后(我遇到了这个问题。在这个步骤之后它已经解决了。)尝试这个步骤:
1.转到Google Console API credentials Page。
2.单击左侧选项卡中的凭据。
3.已经存在两个默认的Android和Web OAuth客户端ID。您必须创建一个Android客户端和一个 Web 2.0客户端。
4.转到 Firebase 。在项目设置中,下载google-services.json并粘贴到app文件夹中。
(一切都很好,但你仍然无法登录谷歌意味着可能OAuth问题。所以一定要创建Android和Web客户端ID。最后在凭证页面中你有2个Android客户端和两个Web客户端ID。)
答案 4 :(得分:1)
您需要在应用上提供签名证书的SHA-1哈希
示例:
注册SHA-1:
CF:4A:A1:0A:BC:84:F2:31:28:C3:BA:A7:A3:A2:36:10:5F:1D:3E:CB 并下载您创建的配置文件..并替换为 * yourproject /应用/谷歌service.json
//获取google-service.json文件教程 https://developers.google.com/identity/sign-in/android/start-integrating
//如何获得SHA-1 https://developers.google.com/android/guides/client-auth
答案 5 :(得分:0)
请检查您添加的SHA-1密钥是否已调试或发布,请根据您的密钥对其进行相对的工作。 我遇到了同样的问题,我了解我已经使用了SHA-1版本,并且正在调试测试,那么它将得到错误的结果。 谢谢
答案 6 :(得分:0)
首先生成调试密钥:
keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
然后将SHA1粘贴到指纹部分的Firebase或Google项目设置中。
答案 7 :(得分:0)
for