使用Node.js发送Firebase通知

时间:2018-08-31 00:36:50

标签: node.js firebase firebase-cloud-messaging

我有一个Android应用,我想通过其Web应用发送通知。

如何使用Node.js发送Firebase Cloud Messaging通知?我已经找到了很多与此主题相关的示例和帖子,但是在所有这些示例和帖子中,您都应该粘贴设备令牌并将通知发送到该设备。如果我想以这种方式使用它,则可以从官方文档中简单地实现它。

问题是,我需要从数据库接收用户ID,以便知道要发送通知的用户。获得用户ID后,我便可以从同一数据库中检索设备令牌。我在客户端同时获得了用户ID和设备令牌。文档是指服务器端。

所有这些都在单击按钮后发生。因此,我不明白如何在服务器端发送通知,也就是说,我没有所需的所有信息-用户ID,设备令牌和包含其他数据库信息的消息信息。是否以某种方式将这些参数从客户端传递到服务器端,或者是否可以在客户端使用诸如“ require()”之类的模块? 最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

您将需要实现设备令牌注册表以适合您的用例。因此,如果要向用户发送消息,则将需要每个用户的令牌的注册表(对于数据库来说真的只是一个花哨的词)。然后,当您想向特定用户发送消息时,您可以在注册表中查找他们的令牌,然后调用FCM API向他们发送消息。由于提到了Node.js,因此您可以使用Firebase Admin SDK:https://firebase.google.com/docs/cloud-messaging/admin/send-messages#send_to_individual_devices

我曾经写过article about using a topic for each user的替代方法,省去了注册其令牌的麻烦。尽管这种方法的安全性较差(因为知道主题的任何人都可以订阅它),但实现起来肯定更容易。