这是我的pubspec.yaml。我正在使用Flutter:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
shared_preferences: ^0.4.2
json_serializable: ^1.2.1
camera: ^0.2.3
path_provider: ^0.4.1
simple_permissions: ^0.1.6
share: ^0.5.3
#Google Sign_In
firebase_auth: ^0.5.20
google_sign_in: ^3.0.5
我无法使用Google登录方法进行身份验证。该窗口正常显示,并且在我的应用抛出错误后:
PlatformException(sign_in_failed, Status{statusCode=CANCELED, resolution=null}, null)
还没有在线找到任何解决方案,有人可以帮我吗?
以下是我的_signIn()
方法
Future<FirebaseUser> _signIn() async {
GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
GoogleSignInAuthentication gSA = await googleSignInAccount.authentication;
FirebaseUser user = await auth.signInWithGoogle(
idToken: gSA.idToken, accessToken: gSA.accessToken);
print("User Name : ${user.displayName}");
return user;
}
我致电GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
后,我的代码崩溃了,所以我猜是我的设置错误。
这就是我所说的_signIn()
MaterialButton(
child: Text("Google Sign-In"),
onPressed: (){
_signIn()
.then((FirebaseUser user) => print(user))
.catchError((e) => print(e));
},
),
我已经在线上删除了Google开发人员控制台上的Firebase-Project并创建了一个新的。我也尝试了匿名登录->运行正常
感谢您的帮助
答案 0 :(得分:2)
我只是遇到了同样的问题。 这就是我解决的方法。
1)获取您的SHA1证书密钥。 (请参阅https://developers.google.com/android/guides/client-auth)
2)将SHA1密钥放置在Firebase控制台中
3)重建您的Flutter应用,然后重试。现在应该可以正常工作了。
答案 1 :(得分:2)
好的,所以我设法通过以 release 模式使用APK来解决此问题!
您必须做什么:
以发布模式构建应用,然后将SHA1或SHA256添加到您的Firebase项目中。
如果您不知道如何prepare your app for release,则可以快速执行此操作。