【问题标题】:Flutter + Firebase - Synchronized countdown on multiple devicesFlutter + Firebase - 在多个设备上同步倒计时
【发布时间】:2021-07-25 00:33:40
【问题描述】:

我想显示一项活动的倒计时,并且它应该在每台设备上显示相同的值。为此,我正在尝试执行以下操作:

  1. 使用ServerValue.timestamp存储活动结束时间。
  2. 当用户加入活动时,使用 ServerValue.timestamp 获取当前服务器时间,并从 firebase 字段获取结束时间。
  3. 将当前服务器时间和结束时间的差值添加到用户当前时间,以获得用户时区特定的结束时间。

首先我想知道我的逻辑是否正确。其次,如何为服务器时间戳添加持续时间,例如60 秒。在正常的 dateTime 中,我认为您可以使用 .add 添加持续时间,但找不到用于服务器时间的方法。谢谢

我正在使用firebase_database 包连接到firebase。

【问题讨论】:

    标签: firebase flutter firebase-realtime-database timestamp


    【解决方案1】:

    是的,这对我来说是个不错的方法。我建议阅读我在此处概述的流程:How to implement a distributed countdown timer in Firebase,这与您的类似。

    正如您在此处看到的,我没有对ServerValue.timestamp 执行添加操作,而是将时间间隔存储为单独的值。这比尝试向现有字段添加值要简单得多,后者需要额外的读取和写入,并且会使代码更加复杂。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 2013-04-30
      • 1970-01-01
      相关资源
      最近更新 更多