【问题标题】:Sending Firebase Notification with nodejs使用 nodejs 发送 Firebase 通知
【发布时间】:2019-09-18 15:25:10
【问题描述】:

我有一个安卓应用,我想通过我的网络应用发送通知。

如何使用 nodejs 发送 Firebase 云消息传递通知?我发现了很多关于这个主题的示例和帖子,但在所有这些示例和帖子中,您都应该只粘贴设备令牌并向该设备发送通知。如果我想这样使用它,我可以简单地从官方文档中实现它。

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

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

【问题讨论】:

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


    【解决方案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,这样就不必注册他们的令牌。虽然这不太安全(因为任何知道主题的人都可以订阅它),但它绝对更容易实现。

    【讨论】:

    • 你没有理解我的问题。我在数据库中有一条记录,其中包含令牌信息,并且在移动应用程序上使用 onTokenRefresh() 进行了更新。所以这不是问题。 Admin SDK 的问题在于它是服务器端,当单击特定用户时,我在 HTML 页面中检索客户端的用户 ID 和令牌。我不明白如何使用 Admin SDK 来实现它。我有用户 ID 和令牌,点击按钮后必须发送通知。所有这些都在 html 页面中。如何在服务器端 .js 文件中获取我在 html 页面中检索到的相同用户 ID 和令牌?
    猜你喜欢
    • 2020-03-24
    • 2018-03-09
    • 1970-01-01
    • 2018-02-28
    • 2016-09-26
    • 2022-07-29
    • 1970-01-01
    • 2017-02-24
    • 2019-03-18
    相关资源
    最近更新 更多