9
  1. 创建了一个应用程序,它使用react-native-google-signin以通过 google login 登录到应用程序
  2. 为签署我的应用程序创建了一个密钥库,如此处所述
  3. 签署我的应用程序并上传到Google Playstore
    • 当我被问到是否要选择加入时Google Play App Signing,我同意了
  4. 如果我尝试登录我的应用程序(从 playstore 下载),我会收到错误消息messsage: DEVELOPER_ERRORerror code: 10

注意1:我的应用程序不使用firebase

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

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

更新:

  • google-services.json此处下载并将其添加到下面/android/app,如果我从发布管理页面下载并手动安装,现在该应用程序可以正常工作。如果我直接从 Google Play 商店安装它仍然不起作用。
4

4 回答 4

14

这很简单,转到您上传签名 APK 的商店帐户。选择您的 App,然后转到Release Management 部分,然后转到App signing

复制 App Signing 证书的 SHA1 密钥。

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

单击 配置项目按钮

选择您的应用程序,选择 Android,应用您的应用程序包名称,然后粘贴 SHA1 证书

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

现在您可以在您的应用程序中使用谷歌登录

于 2019-02-07T04:00:17.200 回答
10

解决方案:

  • 问题是,在生成 时google-services.jsonApp signing certificate SHA-1 certificate fingerprint需要提供;我提供的是Upload certificate's SHA-1 certificate fingerprint,这就是为什么它不能用于生产。
  • 本质上,在凭证页面中,您需要为 Android 创建两个 oauth 客户端 ID(一个带有App Signing certificate,一个带有Upload certificate和一个 oauth 客户端 ID 类型web,并且在使用react-native-google-signin时需要指定webClientId.
于 2017-11-26T06:43:38.800 回答
2

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

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

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

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

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

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

于 2017-11-04T17:48:02.940 回答
2

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

谷歌在 playstore 发布控制台中发布了一项新的签名服务,谷歌将在其中使用他的密钥库为您的应用程序签名。签名后,它将为您提供一个新的 SHA,您必须将其添加到您的火灾中输入图像描述这里基本帐户。查看图片以获得更好的理解

于 2019-01-27T15:51:17.190 回答