Flutter firebase消息为用户通知所有设备

Flutter firebase消息为用户通知所有设备,flutter,firebase-cloud-messaging,Flutter,Firebase Cloud Messaging,我想为特定用户向所有设备发送推送通知。 例如,将新注释添加到用户的帖子时 我最初的方法是使用一个主题,但当订阅一个主题时,它只会将设备订阅到该主题,而不会订阅其他设备 我的前端是飘动的 我目前正在使用firebase函数发送消息。每个设备都有一个令牌,您可以通过调用FirebaseMessaging().getToken()来请求它。 每个令牌都是唯一的,因此您可以将它们用作文档ID谢谢您的回答。我想到了这种方法。但后来我意识到,这将导致对Firestore进行太多不必要的读写操作,尤其是对于群

我想为特定用户向所有设备发送推送通知。 例如,将新注释添加到用户的帖子时

我最初的方法是使用一个主题,但当订阅一个主题时,它只会将设备订阅到该主题,而不会订阅其他设备

我的前端是飘动的
我目前正在使用firebase函数发送消息。

每个设备都有一个令牌,您可以通过调用
FirebaseMessaging().getToken()
来请求它。
每个令牌都是唯一的,因此您可以将它们用作文档ID
谢谢您的回答。我想到了这种方法。但后来我意识到,这将导致对Firestore进行太多不必要的读写操作,尤其是对于群聊应用程序。我目前已经使用带有uid的主题实现了。当用户登录时,订阅
uid
topic。然后,当用户进入聊天室时,将用户的uid添加到firestore聊天室订阅文档中。发布消息时,请阅读文档,然后向文档中的uid主题发送推送消息。这仍然需要firestore跟踪订阅,但读写量略有减少。我仍在寻找更好的解决方案,很可能不涉及firestore。@e-j5我也有类似的要求,你有什么新的更简单的方法吗?要求稍有不同,如果您有任何建议,请帮助我:
uploadToken(FirebaseUser user) async =>
    tokens.document(await FirebaseMessaging().getToken()).setData({
      'user': user.uid,
      'createdAt': FieldValue.serverTimestamp(),
    });
removeToken() async => tokens.document(await FirebaseMessaging().getToken()).delete();