在Flutter应用程序中添加在线离线状态,如使用Firebase的Whatsapp,但我如何在没有互联网的情况下处理



如果我关闭wifi然后关闭应用程序,didChangeAppLifecycleState((将尝试在Firestore中将状态设置为"脱机",但由于wifi关闭Firestore无法将状态设置为脱机。。。因此,该应用程序的其他用户将看到该用户"在线"。我该怎么解决这个问题

Firestore没有内置功能,无法在客户端断开连接后在数据库中写入内容。事实上,大多数数据库都没有这样的功能。

一个例外是Firebase的另一个数据库:实时数据库,它有所谓的onDisconnect处理程序,当连接时,它是延迟写入数据库的指令,一旦数据库检测到连接断开,它就会执行。

您可以将实时数据库与Firestore结合起来,如下面的链接所示。

参见:

  • 关于onDisconnect处理程序的FlutterFire文档
  • 有关使用实时数据库构建呈现系统的Firebase文档
  • 关于连接实时数据库和Firestore的Firebase文档也可以将状态信息获取到Firestore中

最新更新