【发布时间】:2021-12-26 01:55:30
【问题描述】:
我已经实现了以下登录方法,我正在尝试使用isNewUser函数来推送一个新屏幕:
Future<void> googleLogin() async {
try {
final googleUser = await GoogleSignIn().signIn();
if (googleUser == null) return;
final googleAuth = await googleUser.authentication;
final authCredential = GoogleAuthProvider.credential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
UserCredential userCredential =
await FirebaseAuth.instance.signInWithCredential(authCredential);
if (userCredential.additionalUserInfo!.isNewUser) {
return const SignUpNewUser();
}
} on FirebaseAuthException catch (e) {
AlertDialog(
title: const Text("Error"),
content: Text('Failed to sign in with Google: ${e.message}'),
);
}
}
我收到以下错误:
A value of type 'SignUpNewUser' can't be returned from the method 'googleLogin' because it has a return type of 'Future<void>'.
我很确定我将它放置在正确的位置以实现该功能,但我不知道如何在未来实现它。
【问题讨论】:
-
推送到新屏幕的问题可能是由于异步功能。您可以参考以下 Stackoverflow 案例。 1.stackoverflow.com/questions/59518783/… 2.stackoverflow.com/questions/55463574/…如果有帮助请告诉我!
标签: firebase flutter dart google-cloud-firestore firebase-authentication