生产环境Flutter App 谷歌登录错误

问题描述 投票:0回答:1

我们最近将应用程序的代码库从 Kotlin 和 Swift 转换为 Flutter,以统一 Android 和 iOS 平台的开发流程。我们正在构建这个 flutter 项目,作为 Google Play 商店中现有 Kotlin 项目的更新。

但是,我们遇到了一个严重影响我们进展的关键问题。我们的应用程序集成了 Google Sign-In 进行身份验证,由 Firebase 提供支持。我们为开发(“dev”)和生产(“prod”)环境维护两个独立的 Firebase 项目。

问题描述: 在我们的生产环境中,特别是 Android 平台,我们遇到了 Google 登录错误,导致用户无法登录我们的应用程序。收到的错误信息如下:

PlatformException(PlatformException(sign_in_failed,com.google.android.gms.common.api.ApiException:10:,null,null))

这个问题特别令人困惑,因为相同的 Flutter 代码库和 SHA-1 指纹配置在我们的开发环境中可以无缝工作,但在生产中却失败了。值得注意的是,之前在我们基于 Kotlin 的项目中使用了相同的 SHA-1 值,它在生产中可以继续工作,没有出现任何问题。此问题不会影响我们应用程序的 iOS flutter 版本,它会按预期运行。

解决问题所采取的步骤:

更新了 Flutter 和 google_sign_in 库版本以及 Gradle 版本。 审查并更新了 Gradle 配置中的依赖项。 仔细检查并尝试更新 Firebase 控制台和 Google Play 控制台中的 SHA-1 指纹。值得一提的是,为了验证 SHA-1 指纹的正确性,我们尝试重新添加在 Kotlin 项目中成功使用的相同指纹。但是,这会导致一条错误消息,指示指纹已存在,从而确认其在配置中的存在和准确性。

我们得到的确切错误: E/flutter(12293):[错误:flutter/runtime/dart_vm_initializer.cc(41)]未处理的异常:PlatformException(sign_in_failed,com.google.android.gms.common.api.ApiException:10:,null,null) E/flutter (12293): #0 GoogleSignInApi.signIn (包:google_sign_in_android/src/messages.g.dart:221) E/颤振(12293): E/flutter (12293): #1 GoogleSignInAndroid._signInUserDataFromChannelData (包:google_sign_in_android/google_sign_in_android.dart:111) E/颤振(12293): E/flutter (12293): #2 GoogleSignIn._callMethod (包:google_sign_in/google_sign_in.dart:278) E/颤振(12293): E/flutter (12293): #3 GoogleSignIn.signIn.isCanceled (包:google_sign_in/google_sign_in.dart:431) E/颤振(12293):

android flutter oauth-2.0 google-oauth
1个回答
0
投票

您需要获取 SHA-1 和 SHA-256 并将其添加到您的 Firebase 常规项目配置中。

您可以使用 gradle 获取 SHA 密钥。请参阅涵盖它的StackOverflow答案

© www.soinside.com 2019 - 2024. All rights reserved.