【发布时间】:2021-04-07 21:49:57
【问题描述】:
我已经用颤振创建了一个聊天,我需要在我的应用程序中使用,其中 1 组用户将与另一种用户组聊天。 目前我的聊天是以这种方式开发的,我在 firebase 中创建了记录,所以:
CollectionReference addMessage = FirebaseFirestore.instance.collection('Messages');
Future<void> createMessageRecord() {
return addMessage
.add(
{ 'id': firebaseUser.uid,
'text': textMessage,
'timeStamp': DateTime.now().millisecondsSinceEpoch.toString(),
},
)
我找回它们:
StreamBuilder(
stream: FirebaseFirestore.instance.collection('Messages').orderBy('timeStamp', descending: true).snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData)
return Center(child: CircularProgressIndicator());
我展示它们:
ListView.builder(
reverse: true,
padding: EdgeInsets.only(top: 15.0),
itemCount: snapshot.data.docs.length,
itemBuilder: (BuildContext context, int index) {
final message = snapshot.data.docs[index];
final bool isMe = message['id'] == firebaseUser.uid;
return _buildMessage(message, isMe);
聊天效果很好,但当然所有用户都会进行相同的聊天。
我想要做的是将聊天显示限制为 2 个用户。
第一个开始聊天,第二个开始聊天。
目前我已经在firestore中创建了一个名为“Messages”的集合,并且我有3个文档idtexttimeStamp```
我不知道如何限制仅针对这 2 个用户的显示数据
【问题讨论】:
-
您绝对不想将 Firestore 用于聊天应用程序。尝试使用 firebase 实时数据库。它适用于该用例,从长远来看更便宜。查看stackoverflow.com/questions/52410826/…,了解如何构建您的聊天应用程序。
标签: flutter google-cloud-firestore