为什么关闭应用时 firestore 同步不起作用?



每次输入银行信息时,我都需要检查名称是否正确,因为我希望此功能离线工作,这样我就不会在银行中出现不一致的情况。到目前为止,下面的代码正按照我想要的方式工作。但只有一种情况下同步会失败,那就是我按下应用程序的后退按钮直到它关闭。所以当我打开互联网时,数据是不同步的。

Firestore.instance
.collection('Regiao')
.where('idRegiao', isEqualTo: idRegiao)
.snapshots()
.listen((data){
data.documents.forEach((doc) {
Firestore.instance
.collection('CadernoCampoDefensivo')
.document(idCadernoCampo)
.updateData({'regiao' : doc['nomeRegiao']})
.then((_){});

});
});

应用程序中的代码仅在用户积极使用应用程序时运行。这正如预期的那样,否则任何应用程序都可能在应用程序不活动时为所欲为,电池寿命也会受到影响。

如果这个代码需要在一个地方运行,以响应其他用户更新数据,那么在手机内部通常不是最好的地方。相反,请考虑在您控制的服务器上或在Firebase的Cloud Functions中运行此功能。这些解决了连接问题(它们比手机更有可能连接到网络(和电池寿命问题(因为它们连接到主电源(。

最新更新