如何知道什么时候火力地堡DataSnapshot一直坚持服务器端

问题描述:

我建立使用火力地堡聊天,使用离线功能(keepSynced(true)如何知道什么时候火力地堡DataSnapshot一直坚持服务器端

它非常好,只是我不能找到一个办法知道,如果DataSnapshot消息确实已经保存在服务器端,好像我查询消息Firebase会告诉我它存在(它在本地!)。

我发现关于交易,但它不保存离线。

我还发现有关检查Firebase连接状态的信息,但它是全局状态,并不反映逐个快照状态。

我发现的唯一解决方案是在我的消息objects上添加一个属性“persisted”,该属性由服务器端函数设置,但这似乎是为此目的矫枉过正。我非常确定Firebase确实知道哪些值未被保留?

在Android上,当您执行任何写操作时,您将得到一个Task对象作为回报,或者您可以指定一个CompletionListener作为参数。这些中的任何一个都会指示服务器何时收到数据。如果你不使用这些,你没有其他的指示。

如果您无法坚持Task或CompletionListener,则使用云端函数在写入时标记位置肯定是另一种方法。

+0

好抓! iOS也有回调。但是,如果我离开聊天屏幕并回到它,我不知道它是否已发送消息(我不认为我可以在应用程序重新启动等之间执行任务),但这不会持久。那么我会坚持云功能!谢谢你的帮助 – PhilippeAuriach