【发布时间】:2020-06-26 02:23:52
【问题描述】:
我正在尝试通过 Firebase 消息服务将推送通知从我的 php 应用程序发送到我的颤振应用程序。当我启动模拟器时,它从firebase接收一个令牌,然后我复制该令牌并可以发送消息。但是一旦我收到令牌,我想将该令牌存储到我的 mysql 数据库中。我有2个场景。如果用户第一次安装应用程序,我会将令牌插入我的数据库,以便我可以使用该令牌发送消息。现在我很困惑每次用户登录时如何更新该令牌(不是一次又一次地将新令牌插入数据库)。
void setupNotification() async{
_firebaseMessaging.
_firebaseMessaging.getToken().then((token){
//insert the token to user database
saveToken(token);
});
Stream<String> fcmStream = _firebaseMessaging.onTokenRefresh;
fcmStream.listen((token) {
//always update the user database with new token
saveToken(token);
});
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async{
print("message while app is open: $message");
},
onResume: (Map<String, dynamic> message) async{
print("message: $message");
},
onLaunch: (Map<String, dynamic> message) async{
print("message: $message");
}
);
}
我的意思是如何识别令牌是新的还是旧的(更新)?
【问题讨论】:
-
您可以简单地比较您的令牌。如果新令牌和旧令牌不同,那么您将更新您的令牌,否则令牌将不会更改
标签: firebase flutter push-notification firebase-cloud-messaging