提问者:小点点

Google登录服务在PlayStore上发布后无法工作


我创造了我的SHA-1。jks文件,在我用我的包名和SHA-1代码创建我的google-services.json之后。在我把我的应用程序发布到Appstore之后。我的登录服务运行良好,但一小时后所有服务都停止了。

我在每个平台上都使用了相同的SHA-1,我再次检查了同样的SHA-1。

Android Studio SHA-1 输出

怎么了?


共3个答案

匿名用户

我解决了这个问题,首先,我从play store下载了我的apk,然后解压缩我的apk并检查我的SHA,我看到Play Store使用了应用程序签名证书SHA。但是我在任何地方都使用了上传证书。

在我将我的API sha更改为Play Store App Signing sha后,工作得很好。

匿名用户

如果您在发布应用程序时启用了“Google Play应用程序签名”,您现在可能会遇到两个指纹:

>

  • 来自本地密钥库(keytool -exportcert -keystore path-to-production-keystore -list -v)的密钥库,称为“upload cert”。

    Google在启用签名时生成的新证书(“签名证书”)。

    这种情况的冲突在于,您还有两个OAuth 2.0客户端id:

    1. 您在发布应用程序之前(以及启用google签名之前)创建的那个。
    2. 当您启用Google Signing时,Google创建的新功能。

    您可以从以下位置验证这一事实: 谷歌播放中心 -

    解决方案

    为了让谷歌登录(以及所有相关的游戏服务功能)正常工作,我必须纠正我先前存在的OAuth2客户端ID(我在发布应用程序之前创建的那个)的指纹。

    >

  • 查找“正确的”OAuth 2.0客户端ID:Google Play Consol-

    寻找“签名”证书:Google Play控制台-

    转到您预先存在的 OAuth2 客户端 ID:Google Play 管理中心 -

    这解决了我的问题。多人游戏完美运行!

  • 匿名用户

    就我而言,我从开发者控制台创建了一个新游戏

    当它要求我提供SHA1密钥时,我输入了gradle为我生成的密钥(在Android Studio中,打开Gradle选项卡并双击PROJECT/Tasks/Android/singingReport。它将显示用于调试和发布的 SHA1 键)

    之后,开发人员控制台在API控制台中为我创建了项目(在console.dedevelopers.google.com/apis/dashboard中)。对于我的SHA1密钥,它生成了客户端ID

    然后我在Play商店中发布了游戏并使用Google Play应用程序签名。正因为如此,谷歌为我生成了一个不同的SHA1密钥。(可以在开发人员控制台(项目/发布管理/应用签名)中看到 SHA1。它在“应用签名证书”中使用 SHA1

    这个SHA1键也是在API控制台中自动添加的,但是显然生成了不同的客户端ID。

    然后我进入开发者控制台中的游戏服务/项目/链接的应用程序,并检查页面末尾的“OAuth2客户端ID”。它与API控制台中的客户端ID匹配,该ID与我在发布应用程序(不是新的)之前输入的SHA1密钥配对

    最后,我通过执行这些步骤删除了我的API控制台项目,并从头开始执行上面的所有步骤。终于成功了!