我正在使用Firebase Auth UI在我的应用程序中注册和存储用户。
当用户是新用户时,我需要注册一些东西,因此我需要知道用户何时是新用户。
根据文档,我使用正确的方式检查新用户: Auth-UI Metadata
我检查用户是否是新用户的方法是比较元数据,用户创建时间戳和上次签名时间戳,并且效果很好。
if (metadata.getCreationTimestamp() == metadata.getLastSignInTimestamp()){
//do some new user stuff
}else{
//log in old user
}
此代码目前无法正常工作,因为它们可能已更改了某些内容。
我最后一次确定此代码有效,是1月30日。
新用户创建时间戳和登录时间戳之间的毫秒数略有不同:
创建时间戳:1549462011000上次登录时间戳:1549462011028
我在两个不同的Firebase项目中尝试过,问题是相同的。
有人可以帮忙吗?
答案 0 :(得分:1)
我的应用遇到了同样的问题。 这两个时间戳现在相差几毫秒。 解决此问题的一种方法是检查两个时间戳是否足够接近(以下代码中的3秒)
val signUpInterval = 3000L
val isNewUser = Math.abs(metadata.creationTimestamp - metadata.lastSignInTimestamp) < signUpInterval