我知道在基本的firebase身份验证中,我可以在 OnCompleteListener.onComplete 回调中使用 AdditionalUserInfo.isNewUser() 方法查看用户是否是新用户 . 但是,如何使用新的预构建的FirebaseUI进行身份验证来完成它?
OnCompleteListener.onComplete
AdditionalUserInfo.isNewUser()
由于FirebaseUI只是构建在Firebase之上的UI,因此两者可以一起使用而不会出现问题 . 但遗憾的是 AdditionalInfo 只能来自 AuthResult ,这仅在用户主动登录时才可用,例如, signInWithEmailAndPassword . 看起来没有办法从AuthStateListener获取它
AdditionalInfo
AuthResult
正如@bojeil在评论中所说,一种不太可靠的方法可能是检查 metadata.getCreationTimestamp() 和 metadata.getLastSignInTimestamp 的值 . 如果它们是相同的,则刚刚创建了用户 . 有关此示例,请参阅FirebaseUI documentation .
metadata.getCreationTimestamp()
metadata.getLastSignInTimestamp
1 回答
由于FirebaseUI只是构建在Firebase之上的UI,因此两者可以一起使用而不会出现问题 . 但遗憾的是
AdditionalInfo
只能来自AuthResult
,这仅在用户主动登录时才可用,例如, signInWithEmailAndPassword . 看起来没有办法从AuthStateListener获取它正如@bojeil在评论中所说,一种不太可靠的方法可能是检查
metadata.getCreationTimestamp()
和metadata.getLastSignInTimestamp
的值 . 如果它们是相同的,则刚刚创建了用户 . 有关此示例,请参阅FirebaseUI documentation .