【发布时间】:2019-05-02 03:37:30
【问题描述】:
我正在开发一个使用 Firebase 的 Firestore 将数据发送到网络的应用。该应用程序的功能之一是能够在离线时将数据保存在设备中,并在互联网连接恢复时将其发送到 Firestore。 我激活了离线持久性,但它不起作用。
调试控制台:
W/OkHttpClientTransport(28536): Failed closing connection
W/OkHttpClientTransport(28536): javax.net.ssl.SSLException: Write error: ssl=0x7f7acfc408: I/O error during system call, Broken pipe
W/OkHttpClientTransport(28536): at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_write(Native Method)
W/OkHttpClientTransport(28536): at com.google.android.gms.org.conscrypt.NativeSsl.write(:com.google.android.gms@14798020@14.7.98 (040406-222931072):4)
如何在互联网恢复时激活离线持久性并与 Firestore 同步?
我的密码:
Future<Null> sendFirebaseData(var selectedModel) async {
Firestore.instance.enablePersistence(true);
var certID = await getIDCertificado();
var dateTime = new DateTime.now();
var nowHour = new DateFormat('kk:mm:ss').format(dateTime);
Map<String, dynamic> dataHeader = {
'ID': certID,
};
Map<String, dynamic> finalDataMap = {}..addAll(dataGeneral)
..addAll(dataInstrumento)..addAll(dataPadrao)
..addAll(dataAdicional)..addAll(dataHeader);
await Firestore.instance.collection('certificados').document((certID.toString()))
.setData(finalDataMap);}
【问题讨论】:
-
请注意“Firestore.instance.enablePersistence(true);”现在已弃用。您应该调用“Firestore.instance.settings(persistenceEnabled: true);”而是。
标签: firebase flutter google-cloud-firestore