谷歌登录无法从Playstore下载的应用程序


  1. 创建了一个使用react-native-google-signin使用Google Login登录的应用程序
  2. 创建了一个密钥库,用于对我的应用程序进行签名,如此处所述
  3. 已签署我的应用并上传到谷歌应用商店
    • 当我被问及是否要选择加入Google Play App Signing时,我同意
  4. 如果我尝试登录我的应用程序(从Play商店下载),我会收到错误messsage: DEVELOPER_ERRORerror code: 10

注意 1:我的应用不使用 Firebase

注意2:如果我将apk直接安装到我的设备中,登录似乎可以正常工作

我确定问题与应用程序如何使用Google Play应用签名进行签名有关,但我无法隔离问题

更新:

  • 从这里下载了google-services.json并将其添加到/android/app下,现在如果我从发布管理页面下载它并手动安装它,该应用程序就可以运行。如果我直接从谷歌Play商店安装它,仍然不起作用。

这很简单,转到您上传已签名APK的Play商店帐户。 选择您的应用,然后转到">发布管理"部分,然后转到"应用签名"。

复制应用签名证书的 SHA1 密钥。

转到此链接 https://developers.google.com/identity/sign-in/android/start-integrating

单击"配置项目"按钮

选择你的应用,选择"Android"、"应用你的应用包名称",然后粘贴 SHA1 证书

然后单击"创建"。就是这样。

现在,您可以在应用中使用谷歌登录

解决方案:

  • 问题是在生成google-services.json时,需要提供App signing certificateSHA-1 certificate fingerprint;我提供了Upload certificateSHA-1 certificate fingerprint这就是为什么它不适用于生产的原因。
  • 实质上,在凭据页面中,您需要为 Android 创建两个 oauth 客户端 ID(一个带有App Signing certificate,一个带有Upload certificate和一个类型为web的 oauth 客户端 ID,在使用react-native-google-signin时,您需要指定webClientId

您在调试模式下为应用添加了 sha-1 密钥,届时您将能够在应用中进行 Google 登录。 但随着应用投入生产,它需要 sha-1 密钥才能生产。 并且您需要在Firebase控制台上添加。 您可以检查您的 Firebase 控制台并检查安卓应用。

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

上面的 commad 有助于为调试版本创建 sha-1 密钥。

您需要为生产 sha-1 提供签名的密钥库文件路径。 这将通过命令完成

keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>

您只需要为已发布的apk提供密钥库文件的特定路径。

昨天我遇到了同样的问题。

谷歌在Playstore发布控制台中发布了一个新的签名服务,谷歌将使用他的密钥库登录您的应用程序。签名后,它将为您提供一个新的SHA,您必须将其添加到您的Fireenter图像描述中。查看图像以更好地理解

相关内容

  • 没有找到相关文章

最新更新