Google 登录 - 无法在生产中使用

JK8*_*JK8 4 firebase google-signin flutter google-cloud-firestore

在模拟器和真实设备上进行测试时,Google 登录可以正常工作,但在生产环境中却无法正常工作。我已将 SHA 1 密钥添加到我的 Firestore 项目中。

我该如何解决这个问题?

Future<User> googleSignIn() async {
    try {
      GoogleSignInAccount googleSignInAccount = await Global.googleSignIn.signIn();
      GoogleSignInAuthentication googleAuth =
          await googleSignInAccount.authentication;

      final AuthCredential credential = GoogleAuthProvider.credential(
        accessToken: googleAuth.accessToken,
        idToken: googleAuth.idToken,
      );
      UserCredential result = await Global.fbAuth.signInWithCredential(credential);
      User user = result.user;
      updateUserData(user);
      return user;
    } catch (error) {
      print(error);
      return null;
    }
  }
Run Code Online (Sandbox Code Playgroud)
        onPressed: () async {
        showDialogue(context);
          var user = await loginMethod();
          if (user != null) {
            hideProgressDialogue(context);
            Navigator.pushReplacementNamed(context, SharedStrings.userInfoPath);
         
Run Code Online (Sandbox Code Playgroud)
signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
       }
   }

       buildTypes {
       release {
           // TODO: Add your own signing config for the release build.
           // Signing with the debug keys for now,
           // so `flutter run --release` works.
           signingConfig signingConfigs.release
       }
Run Code Online (Sandbox Code Playgroud)

小智 5

上传到 Play 商店后,Play 商店会生成自己的 SH1,我们必须将其替换为 google 控制台中的第二个密钥。

转到谷歌控制台>应用程序签名>复制控制台生成的SH1。添加到谷歌登录控制台中,将其替换为第二个键。