【发布时间】:2021-10-16 15:54:50
【问题描述】:
我正在为我的 Flutter 应用程序处理通知。我已阅读文档,但找不到解决问题的方法。我想订阅子集合并使用 Firebase 函数在子集合发生变化时发送通知。
让我更清楚地说明情况。我的应用程序中有几个用户,并且我设法设置了用于消息传递的子集合。因此,对于每个用户,都有 /users 集合和消息子集合。我想订阅 /messages 子集合以使用 Firebase 函数进行更改。
Typescript 中 Firebase 函数的代码是这样的:
functions.firestore.
document("users/{userId}/messages/{messageId}")
.onCreate((snapshot, context) => {
console.log(snapshot.data());
console.log(snapshot.data());
return admin.messaging().sendToTopic("users", {
notification: {
title: snapshot.data()["username"],
body: snapshot.data()["text"],
clickAction: "FLUTTER_NOTIFICATION_CLICK",
},
});
});
但是,我不知道如何在 Flutter 端订阅子集合(订阅集合我们使用FirebaseMessaging.instance.subscribeToTopic('users');)。
有什么方法可以实现吗?我想检测每个用户的子集合是否有变化。
【问题讨论】:
-
Firebase 云消息传递中没有集合或子集合的概念,它只有一个简单的主题列表。这听起来很像XY problem。你想用这个云函数来完成什么(不是实现,而是用例)?
-
我想为用户订阅 /users/{userId}/messages 集合,在 Firestore 消息中称为用户集合的子集合。我想订阅单个用户消息,并且从 Cloud Functions 我想在用户订阅 /users/{userId}/messages 集合时向他发送通知。希望我解释正确。
标签: firebase flutter dart firebase-cloud-messaging