Как увеличить скорость аутентификации Firebase в флаттере - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть приложение, в котором есть функции входа и регистрации. Я также добавил функцию выхода из системы, а также, когда пользователь закрывает и снова открывает firebase приложения, проверяет, вышел ли пользователь из системы, но проблема заключается в том, что когда я открываю firebase приложения, требуется много времени, по крайней мере, 8-10 секунд, чтобы проверить, является ли пользовательуже вошли в систему или нет, так как увеличить скорость с firebase, чтобы пользователю не нужно было ждать 8-10 секунд больше.

  void initState() {
    super.initState();
    pageController = PageController();
    // Detects when user signed in
    googleSignIn.onCurrentUserChanged.listen((account) {
      handleSignIn(account);
    }, onError: (err) {
      print('Error signing in: $err');
    });
    // Reauthenticate user when app is opened
    googleSignIn.signInSilently(suppressErrors: false).then((account) {
      handleSignIn(account);
    }).catchError((err) {
      print('Error signing in: $err');
    });
  }
  handleSignIn(GoogleSignInAccount account) async {
    if (account != null) {
      await createUserInFirestore();
      setState(() {
        isAuth = true;
      });
      configurePushNotifications();
    } else {
      setState(() {
        isAuth = false;
      });
    }
  }

1 Ответ

0 голосов
/ 04 ноября 2019

Я использую этот способ, чтобы проверить, входит ли пользователь в приложение или нет.

Auth auth = Auth();

  await auth.getCurrentUser().then((user) async {
      runApp(MaterialApp(
        theme: _themeData(),
        home: user != null
            ? Home(
            userId: user.uid
        )
            : Login(),
        debugShowCheckedModeBanner: false,
        routes: routes,
      ));
  }).catchError((error) {
    print("Here is ERROR $error");
  });
}

Вряд ли требуется одна или две секунды, чтобы сообщить пользователю uid. Я надеюсь, что это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...