Firebase Phone Auth在发布时无法正常工作(Android)

时间:2018-01-18 15:00:56

标签: android firebase firebase-authentication

使用我的应用程序的调试版本时手机身份验证可以正常工作,并且当我在手机上手动安装发布签名的apk时也可以使用。但是,当我向Play商店(Alpha测试版)发布相同的工作apk时,我无法使其发挥作用。挖了一下后得到了这个:

  

此应用无权使用Firebase身份验证。请确认在Firebase控制台中配置了正确的软件包名称和SHA-1。 [应用验证失败]

我知道它的样子。但我可以向您保证,我已将正确的SHA-1添加到Firebase控制台并在发布前进行检查。

我的问题:我还应该注意一些其他内容吗?我还检查了google-services.json并没有成功。

4 个答案:

答案 0 :(得分:0)

您必须将发布构建应用程序SHA-1添加到Firebase。转到Firebase控制台。打开项目设置 Project Settings

然后打开应用程序

Update the SHA-1 certificate

要获取发布应用的SHA-1校验和,

  1. 从右侧面板中选择android studio中的Gradle
  2. 选择您的应用
  3. 在任务中> android> signingReport和android studio中的sha1生成:

更改Firebase项目设置

按下添加指纹按钮

从右侧面板中选择android studio中的Gradle

选择您的应用

在任务-> android-> signingReport中,双击signingReport。 您将在Gradle Console中找到sha1指纹 在Firebase控制台中添加此sha1指纹 Gradle Toolbar

答案 1 :(得分:0)

花了整整一天的时间弄清楚了问题所在。我找到了罪魁祸首!我们选择加入的是Google Play的应用签名。我们需要通过应用签名本身注册SHA-1。可以在Google Play控制台内部的“发布管理”>“应用签名”下找到该文件。它将具有两种类型的证书:

1.Upload证书:这是来自上载的密钥库的证书信息。本地应用程序签名时需要与密钥库相同,因为Google Play会验证上传的应用程序是否与此签名证书匹配。

2.App签名证书:上传应用程序后,Google会使用此证书替换上传证书。这是新证书,将用于Play商店中已发布的应用。

有了这些信息,我才意识到我们尚未为已发布的应用程序所使用的应用程序签名证书注册SHA-1。因此,我在应用程序的Firebase>项目设置中添加了SHA-1指纹(也可以在需要时使用SHA-256)(添加指纹后不要忘记更新最新的配置文件)。

因此,添加您的SHA指纹后,您的Firebase SHA证书指纹将如下所示:

enter image description here

现在单击“保存”,然后尝试运行您的应用程序,它将正常运行。

答案 2 :(得分:0)

您可能一直在使用Google Play签名 所以只需要将SHA1从Play商店控制台(在“发行管理”->“应用签名”下)复制到Firebase控制台(项目设置->“添加FingerPrint”)。

我也面临着同样的问题,对我来说很有效。

答案 3 :(得分:0)

您可能已启用 Play 应用签名,如果您想上传应用程序包,Google Play 建议启用此功能。

  1. 转到您应用的信息中心页面。
  2. 在侧边(左侧)抽屉菜单中,发布 -> 设置 -> 应用完整性

您会在那里找到 SHA-1 和 SHA-256 密钥。只需将它们复制并粘贴到您的 Firebase 项目中即可。

  1. 打开您的 Firebase 项目。
  2. 项目设置(项目概览右侧,齿轮图标)。
  3. 选择您的应用。
  4. 在此处添加指纹并粘贴您的密钥。

确保同时添加 SHA-1 和 SHA-256 密钥。