我只想获得创建日期和使用firebase的用户的最后一次登录日期,我的计划是让用户使用Facebook登录,然后注册并添加新信息并将用户保存在实时数据库中创建日期和上次登录日期,以便如何在保存日期后保持日期与Firebase系统不同步,或者我应该只使用那些FIRUU并且不将它们保存在实时数据库中
问题1:如何从仪表板中显示的FIRUser获取创建和上次登录日期(参见附图)
问题2:一旦我收到这些日期,我会将它们保存在实时数据库中,那么如何保持最后一次登录日期同步?
答案 0 :(得分:4)
从版本4.4.0开始,您可以从当前用户获取iOS中的最后一次登录时间和创建时间:https://firebase.google.com/support/release-notes/ios#4.4.0
Auth.auth().currentUser.metadata.lastSignInDate
Auth.auth().currentUser.metadata.creationDate
答案 1 :(得分:1)
答案 2 :(得分:1)
在FIRUserMetadata
中,您可以找到两个属性:
/** @property creationDate
@brief Stores the creation date for the corresponding Firebase user.
*/
@property (copy, nonatomic, readonly, nullable) NSDate *creationDate;
使用
访问此属性let creationDate = Auth.auth().currentUser?.metadata.creationDate
/** @property lastSignInDate
@brief Stores the last sign in date for the corresponding Firebase user.
*/
@property (copy, nonatomic, readonly, nullable) NSDate *lastSignInDate;
使用此属性访问
let lastSignInDate = Auth.auth().currentUser?.metadata.lastSignInDate
答案 3 :(得分:0)
您可以像这样构建规则
{
rules: {
users: {
uid_01: {
//You can also do regular expression of timestamp and add it to ".validate" rule
lastLogin: { ".validate": "newData.isString()" }
createdOn: { ".write": "!data.exists()" }
}
}
}
}
遵守上述规则将有助于您管理所要求的内容。 " createdOn"只会让你写一次价值。每当您创建新用户时,只需将日期写入" createdOn"并不断更新" lastLogin"加班他们登录!!