Android 如何使用firebaes实时数据库或firestore使投票仅在特定时间内有效?

Android 如何使用firebaes实时数据库或firestore使投票仅在特定时间内有效?,android,firebase,Android,Firebase,我想知道发送投票的最佳方式是什么,例如,投票的初始值是0,有人在特定时间后发送+1(投票+=1),如20分钟,投票将被撤消(投票-=1)。firebase中是否有一些功能可以做到这一点?因为我希望即使用户没有使用android应用程序,撤销也能正常工作。我曾想过让一台设备始终连接到数据库并观察变化,但这看起来不太稳定。可以使用服务器吗?如果firebase不是最佳选择,我应该在网上查找什么?到firestore是你的拿手好戏。我看到的最大的问题是,你会使用setTimeout 20分钟,你会得到

我想知道发送投票的最佳方式是什么,例如,投票的初始值是0,有人在特定时间后发送+1(投票+=1),如20分钟,投票将被撤消(投票-=1)。firebase中是否有一些功能可以做到这一点?因为我希望即使用户没有使用android应用程序,撤销也能正常工作。我曾想过让一台设备始终连接到数据库并观察变化,但这看起来不太稳定。可以使用服务器吗?如果firebase不是最佳选择,我应该在网上查找什么?

到firestore是你的拿手好戏。我看到的最大的问题是,你会使用setTimeout 20分钟,你会得到很多账单。对于类似的问题,我们建议每隔一段时间运行一次云函数以清除旧投票。我建议在upvote上将日期推到数组中,并使用长度作为总投票数,每10分钟或任何时间运行一次函数,查看日期是否早于20分钟,并相应地删除

不幸的是,第一个建议不起作用,因为云函数的时间只有9分钟。的确,用时间戳记录所有投票是一种可行的方法;一点也不,因为您指出两个独立的数据库完全没有问题。既然您谈论的是服务器端验证,那么我将从研究服务器端安全规则开始。用它试试看,然后把你试过的贴出来。这将使你更容易理解你想要实现的目标,并增加有人能够帮助你的机会。