Facebook 和 Google 登录不适用于上传到 Firebase App Distribution 的 Android AAB 版本

Dr.*_*LYK 7 android facebook-authentication google-oauth android-app-bundle firebase-app-distribution

已解决Firebase 故障排除页面已更新:

当您将 AAB 上传到 App Distribution 时,Google Play 会自动使用测试应用签名密钥证书对生成的 APK 进行签名。出现提示时,如果您想继续使用 API 提供商的第三方服务,则必须向 API 提供商注册您的应用程序。签名后,您可以在 Firebase 控制台中查看应用的测试证书。


自从我开始在 Firebase App Distribution 上上传 AAB 而不是 APK 以来,我注意到 Facebook 和 Google 身份验证不再起作用。

在我的 Firebase 的 Android 应用程序设置中,我已经添加了以下 SHA-1 指纹:

  • 调试(来自./gradlew signingReport
  • 发布(来自./gradlew signingReport
  • Google Play 商店(来自 Google Play Console > 发布 > 应用完整性)

我还在 Meta (Facebook) 开发者控制台中上传了相关的 Base64 哈希密钥。

一切都按预期工作,直到我开始上传 AAB 而不是 APK。例如,当我尝试使用 Facebook 登录时,会显示以下错误消息:

无效的密钥哈希。它们的密钥哈希 <key_hash> 与任何存储的密钥哈希不匹配。在https://developers.facebook.com/app/ <facebook_app_id>/配置您的应用程序密钥哈希

从这个密钥哈希中,我能够检索其关联的 SHA-1 指纹。将其添加到 Firebase 的 Android 应用程序设置(和更新google-services.json文件)并在 Facebook 控制台中添加密钥哈希后,社交身份验证即可工作。

但问题是:我最初应该在哪里找到这个 SHA-1 指纹?它无法从./gradlew signingReport输出或 Google Play 控制台中获得。我也找不到任何文档。

预先感谢您的帮助。

小智 4

Firebase App Distribution 会在上传时重新签署您的 AAB。

“首次上传 AAB 后,App Distribution 会生成一个新的测试证书。所有 AAB 上传都会使用此测试证书重新签名。使用下面的证书指纹向 API 提供商注册您的应用签名密钥...”

以下是 Firebase 控制台的屏幕截图,您可以在其中找到此信息:

Firebase 控制台上的 AAB 签名信息

测试证书指纹

在 Firebase 项目设置中添加这些 SHA-1 和 SHA-256 指纹后,您应该可以开始了。