【问题标题】:Run timer on Firebase servers using Google Cloud Functions?使用 Google Cloud Functions 在 Firebase 服务器上运行计时器?
【发布时间】:2017-08-03 23:00:05
【问题描述】:

有没有办法使用新的 Cloud Functions 在 Android Studio 中实现 Firebase 服务器端倒计时(例如:10 小时倒计时)?

我希望计时器位于服务器端,这意味着每当用户打开我的应用程序时,所有用户的计数器总是在同一时间。

【问题讨论】:

  • 我很想知道 Cloud Functions 还能提供什么。
  • 您实际上并不需要云函数来在用户之间共享数据。您可以简单地将计时器到期的最后时间存储在每个人都可以读取但没有人可以写入的数据库中。顺便说一句,Cloud Functions 没有集成到 Android Studio 中。它不关心你使用什么 IDE 来构建你的应用程序。
  • @DougStevenson 我的目标是避免篡改设备(客户端)的当前时间。这就是为什么我需要一个服务器端计时器。
  • 我不太清楚您要做什么。如果您想显示直到未来某个时间点的剩余时间的运行计数,您几乎必须依赖本地设备的时钟,并使用它来计算剩余时间。
  • @DougStevenson 确实如此。这就是我想要做的:显示在未来某个时间点之前剩余的运行时间。我不能依赖 Firebase 服务器的时钟,并使用服务器计算剩余时间吗?

标签: android firebase google-cloud-functions


【解决方案1】:

现在您可以使用 Firebase 预定功能

https://firebase.google.com/docs/functions/schedule-functions

例子:

exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
  console.log('This will be run every 5 minutes!');
  return null;
});

exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
  .timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
  .onRun((context) => {
  console.log('This will be run every day at 11:05 AM Eastern!');
  return null;
});

【讨论】:

    【解决方案2】:

    Google Cloud Functions 目前不提供计时器/类似 cron 的作业。

    您可以使用 ping 服务或 https://cron-job.org 之类的东西来模拟该行为,这表示这可能仍然是“传统”Google AppEngine 实例 + Firebase Admin SDK 的一个很好的用途。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-11
      • 2017-08-22
      • 2018-12-03
      • 2017-12-08
      相关资源
      最近更新 更多