我正在使用云功能通过使用设备令牌发送通知。
const payload: admin.messaging.MessagingPayload = {
notification: {
title: `updatedBy: ${updatedBy}`,
body: `nova messagem ${increment}`,
},
}
return fcm.sendToDevice(userToken, payload, options).then((value) => {
console.log(value.results);
}).catch((error) => {
console.log(error);
})
但是,所有通知都已堆积起来,我想管理这些滞留在系统托盘中的通知,还是可以使用这些插件通过这种“复杂性”来管理通知吗? (本地推送通知,FCM,cloudfunctions)而不使用本机代码(kotlin,android)? 因为我不知道android结构是如何工作的...
我可以使用(本地推送通知的)cancelAll
FlutterLocalNotificationsPlugin.cancelAll()
但是太死板了
我也可以使用带有特定“ ID”的取消通知,但我不知道如何获取该通知“ ID”
FlutterLocalNotificationsPlugin.cancel(notificationId)
那么,如何解决这个问题呢?
这样,我可以明智地删除我想要的任何通知,但是基本上,我只是想折叠相同类型的通知,例如在Whatsapp上,当一个人向您发送多条消息时,并且在系统任务栏中,只有一个通知说“他”发送了1条以上的消息(而不是大量的通知)。
如果在flutter项目中实现起来不太困难,那将是完美的选择,我还在stackoverflow中查看了此处的每篇文章,发现还没有人回答过这个问题
[编辑]:我无法使用的原因
FlutterLocalNotificationsPlugin.cancelAll()
这是因为我正在使用fcm方法来侦听通知,所以我尝试将该方法放入某些fcm侦听器中,但未成功。
_firebaseMessaging.configure(
onMessage: (Map message) async {
print('on message $message');
},
onResume: (Map message) async {
print('on resume $message');
},
onLaunch: (Map message) async {
print('on launch $message');
},
);