Firebase 实时数据库每日签到 Android

Firebase Realtime Database Daily Check-in Android

现在我创建了一个项目,其中一个功能是每日签到。 有了这个,我遇到了一些困难。 案例是 - 我希望用户每天检查 in.That 意味着,在签到后,用户必须等到明天再次进行每日签到。我应该如何实现这个以及验证应该如何工作?

我已经在 google 中找到了解决方案,但无法正常工作。

我也已经使用调度程序进行了测试。 它有效,但我认为这不是我能得到的最佳实践,所以如果有人有解决方案,我很乐意听到。

不太确定这是否是最佳解决方案,但这是我的解决方法。

在您的 Users/user-id 下,添加一个名为 'lastCheckinTime' 的字段。

当用户签到时,先调用lastCheckinTime,看是否<24hrs,如果不是才让用户签到。

然后在编写新的签入操作时,用最新的时间戳更新 lastCheckinTime。希望它能回答你的问题。

我只保留用户最后一天签到的实例,不管它发生在什么时间。

这样您就可以检查在特定日期是否发生了签到。

使用 -

String currentDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());

获取当前日期参数,然后进行如下检查 -

if(currentDate.after(lastCheckInDate)){
            //your check in method here
        }