【问题标题】:How to know which offline data has been synced to firebase Realtime Database如何知道哪些离线数据已同步到 Firebase 实时数据库
【发布时间】:2020-04-20 23:05:21
【问题描述】:

我在 firebase 的帮助下编写一个聊天应用程序。这里我有一个问题,如果设备离线,数据存储在缓存中,当设备重新在线时缓存将被同步,但是如何知道哪个数据已同步,哪些未同步(用户可能互联网连接不佳,因此同步可能会延迟)。如何通知用户消息已发送或正在发送,我们也需要管理大量消息 谢谢!

【问题讨论】:

  • “如何知道哪些数据已同步哪些未同步”是什么意思?

标签: android firebase firebase-realtime-database chat


【解决方案1】:

有两种方式:

  1. 使用如下所示的完成侦听器:Firebase Android - how to tell if node has been synced 只要应用程序保持活动状态,这种方法就可以工作。完成侦听器不会在应用重启后继续存在,因此如果应用重启,它将无法工作。

  2. 使用标记值。保证从单个客户端对数据库的写入按顺序执行。使用这些知识,您可以在应用程序重新启动或连接恢复时编写一个哨兵(想想:虚拟)值,并检测何时写入。一旦哨兵值被确认,您可以确定所有旧消息也已被服务器处理。

另见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2021-03-30
    • 2020-01-27
    • 1970-01-01
    • 2018-12-29
    相关资源
    最近更新 更多