如何使用 Admin SDK 为数据库触发器设置 firebase FCM

问题描述

我正在尝试使用 Firebase Admin SDK 和 Node js 为数据库触发器设置 FCM 通知。根据我在文档中阅读的内容,我了解您需要设备通知密钥才能发送通知。但是,服务器应该如何获取设备通知密钥?这是应该从客户端传递到服务器的东西吗?或者这是我可以使用身份验证 ID 从我的服务器查找的内容

由于在 Firebase 数据库收到更新时应触发 FCM,因此我不确定如何请求负责该更新的设备通知键。

谢谢

解决方法

您需要将所有令牌存储在数据库中,然后您的发件人代码可以从中读取它们。

如果您查看 setting up your app for receiving message 上 Firebase 文档中的示例代码,您会看到如下代码:

public void onNewToken(String token) {
    Log.d(TAG,"Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side,send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token);
}

sendRegistrationToServer 的调用是您可能执行的操作的一个示例:它是一个将令牌发送到您的服务器的函数,然后服务器可能会将其存储在数据库中。

如果您随后查看此 sending messages to users when data is written to a database 示例,您会看到它 reads the tokens from the database,将它们用于 send messages to all relevant tokens,然后是 cleans up tokens that have expired

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...