我正在使用node.js后端和前端的flutter创建firebase的推送通知功能。
到目前为止,我已经了解了推送通知,用firebase注册了应用程序,然后用firebase控制台成功地测试了通知。
但我对如何处理FCM代币感到困惑。由于firebase将使用FCM令牌向特定设备发送通知,我如何从前端获得FCM令牌??
我已经找到的解决方案是,当用户登录到移动应用程序时,将生成FCM令牌,并将其发送到节点服务器,我将把该FCM令牌存储在数据库中。因此发送通知将很容易处理
这是一个好方法吗?
或者有什么好的方法吗?
您所描述的确实是正确的方法,并且在访问注册令牌的Firebase文档中进行了描述(此链接适用于Java,但在所有支持的平台上都存在相同的链接(。从那里来了这个代码示例:
/**
* There are two scenarios when onNewToken is called:
* 1) When a new token is generated on initial app startup
* 2) Whenever an existing token is changed
* Under #2, there are three scenarios when the existing token is changed:
* A) App is restored to a new device
* B) User uninstalls/reinstalls the app
* C) User clears app data
*/
@Override
public void onNewToken(@NonNull 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);
}
这里的onNewToken
是FCM API的一部分,但此代码中的sendRegistrationToServer
是您所描述的内容,也是您必须自己实现的内容。