我想使用Firebase检查用户是否是新用户。我有一个使用Google登录的按钮
Future<FirebaseUser> googleSignIn() async {
try {
loading.add(true);
GoogleSignInAccount googleSignInAccount = await _googleSignIn.signIn();
GoogleSignInAuthentication googleAuth =
await googleSignInAccount.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
FirebaseUser user = (await _auth.signInWithCredential(credential)).user;
loading.add(false);
return user;
} catch (error) {
return error;
}
}
如果我添加FirebaseUserMetadata,则具有以下内容:无法将类型“Future”的值分配给类型“FirebaseUserMetadata”的变量。尝试更改变量的类型,或将右侧的类型转换为“FirebaseUserMetadata”。
我认为我要做的是比较FirebaseUserMetadata中的lastSignInTimestamp和creationTimestamp。
FirebaseUser user = (await _auth.signInWithCredential(credential)).user;
if(new user){
updateDataNewUser(...)
}
else{
updateDataUser(...)
}
在我的情况下,如何从FirebaseUserMetadata获取此数据?
谢谢。
最佳答案
要检查用户是否是新用户,请尝试以下操作:
AuthResult user = await auth.signInWithCredential(credential);
print(user.additionalUserInfo.isNewUser);
isNewUser
返回用户是新用户还是现有用户
关于android - 如何使用FirebaseUserMetadata检查新用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61122187/