首页 > 解决方案 > 如何在 Flutter Firestore 聊天应用程序上实现“消息未送达”

问题描述

TL;博士

我正在使用快照收听 Firestore 更改。快照文档来自缓存。如何指示 DocumentSnapshot 是否已交付?是否有任何标志可以表明它?

更多信息

我正在开发一个聊天应用程序,我想在消息旁边实现一个“消息未传递”图标,就像 WhatsApp 一样(在没有网络连接的情况下)。

在此处输入图像描述

我正在使用 Firestore 收集我的消息,并且正在使用快照收听更新。由于我使用的是 Firestore 快照,因此我从缓存中获取消息,而缓存本身会在每次更改时更新(这非常酷)。

我的问题是我无法指出每条消息是否已成功传递。

一个很好的用例是一个没有网络连接的用户,它正在发送一条消息,然后关闭应用程序,然后重新打开它(没有任何网络,仅缓存)。我需要向他们表明最后一条消息仍未送达。

标签: firebasefluttergoogle-cloud-firestore

解决方案


The flag document.metadata.hasPendingWrites indicates whether the document was delivered or not.


推荐阅读