Firebase GoogleSignIn.signIn() 阻止用户交互

卵石

我正在使用 Firebase,当我await GoogleSignIn.signIn()在我的应用程序顶部使用模态阴影显示时,会阻止用户交互,直到完成其业务。

如果这是第一次并且用户需要填写或选择一个凭证(电子邮件帐户),这是可以理解的。

但是一旦用户注册,打开应用程序并在与应用程序交互之前必须等待它完成是非常烦人的。我的代码就是全部async,我的部分没有阻止用户交互。

使用其他登录方法(如无密码登录)时,一切都在后台运行良好。但是当我使用 时GoogleSignIn,它只会在我的应用程序顶部抛出这个模态阴影并阻止用户交互。

难道我做错了什么?也许我不应该GoogleSignIn.signIn()在用户注册后每次打开应用程序时都打电话或者它就像它应该的那样?

完成他的业务需要大约一秒钟的时间,但这足以令人烦恼,而且可能需要更长的时间,具体取决于网络连接。并且如果连接失败,大约需要 5 秒才能放弃并抛出错误。

我的应用程序的设计方式在用户登录之前没有理由让他持有。他甚至可以离线使用我的应用程序,所以我真的很想改变这种行为。

编辑这是我的登录代码:

  final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
  final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
  final AuthCredential credential = GoogleAuthProvider.credential(
    accessToken: googleAuth.accessToken,
    idToken: googleAuth.idToken,
  );
  user = (await FirebaseAuth.instance.signInWithCredential(credential)).user;
亚都

检查用户,如果用户不存在则登录

      if (FirebaseAuth.instance.currentUser == null) {
        final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
        final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
        final AuthCredential credential = GoogleAuthProvider.credential(
          accessToken: googleAuth.accessToken,
          idToken: googleAuth.idToken,
        );
        user = (await FirebaseAuth.instance.signInWithCredential(credential)).user;
      } else {
        user = FirebaseAuth.instance.currentUser;
      }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

pod“ Google / SignIn”与pod“ GoogleSignIn”

使用 Carthage 集成 Firebase GoogleSignIn

Firebase Auth - 禁用用户并阻止他与后端交互

无法使用Firebase进行googleSignIn-Android

Google SignIn拒绝使用Firebase

使用 Google SignIn 的 Firebase WebApp 仅适用于特定域和特定用户

如何确定用户之前是否已使用 google firebase signin 登录

如何知道用户是刚刚创建还是已经存在 google signin 和 firebase web 9?

GoogleSignIn / Crashlytics / Firebase的自定义编译器标志

当我使用 googleSignIn 时,用户在 Firestore 上重复

google-signin不返回用户信息

阻止用户与AVPlayerView交互?

具有Firebase怪异行为的SignIn界面

使用Firebase时,GoogleSignIn被标记为内部,不应从应用程序访问

在通过Firebase进行GoogleSignIn之后,如何重定向到另一个屏幕?的iOS

带有googleSignIn的ios firebase Auth为后端服务器获取IdToken

Firebase 登录:GoogleSignIn onActivityResult() 返回 RESULT_CANCELED,结果错误 12500

如何接收正确的网址?尝试从Firebase应用程序中的googlesignin帐户获取个人资料图片

找不到“ GoogleSignIn / GoogleSignIn.h”文件

找不到“ GoogleSignIn / GoogleSignIn.h”文件

为什么安装Google SignIn SDK会安装Firebase-可可豆荚

Firebase GIDSignInButton无需用户触摸或交互即可“触发” /登录

API调用后如何与Firebase用户进行交互?

如何实施GoogleSignIn

未解决的参考 GoogleSignIn

UITableView 上的用户交互阻止进程

Swift UIView阻止图像视图的用户交互

阻止用户写入 firebase 表中的特定字段

如何添加:“ config.SignIn.RequireConfirmedEmail = true;” 扩展应用程序用户