按照精彩的http://localhost:3000/partOfGroup?groupId=594ea5bc4be3b65eeb8705d8&userId=12345教程,我尝试将Google登录纳入我的应用程序。
流程:如果未登录,用户将始终到达登录页面(通过MaterialApp
onGenerateRoute
检查),然后用户按下登录按钮并重定向到Google登录流程。但是,如果用户中途取消流量,我想返回登录页面,强迫她再次按下该按钮。
由于某些原因我无法捕获PlatformException(您可以在调试器中看到它,并且应用程序挂在模拟器中): Firebase Flutter
我使用的代码:
Future<bool> logIn() async {
print('Login::logIn()');
bool loggedIn = await logInSilently();
print('Login::logIn() - silent login returned $loggedIn');
if (loggedIn == false) {
try {
await googleSignIn.signIn();
} catch (e) {
print('Login::logIn() - interactive login failed: $e');
return false;
}
}
return true;
}
catch块中的print
语句永远不会打印,应用程序会挂起。在发布问题之前,我已经升级了扑动并重新测试了 - 问题仍然存在。
(澄清:&#34;快乐路径&#34; - 即用户成功通过Google登录流程 - 正常工作。)
答案 0 :(得分:1)
我认为这是fixed中的google_sign_in version 0.2.1。
尝试将您的google_sign_in
依赖项更改为pubspec.yaml
至^0.2.1
,看看是否有帮助。