根据文档,我的理解是Firebase可以发送两种类型的消息:通知和数据。此外,它们可以是可折叠的,也可以是不可折叠的,不可折叠的是数据消息的默认值。这意味着每封邮件都会传递到客户端应用程序。见下文:
但是,当我向客户端发送数据消息时,它们会崩溃。例如,我发送一个并且它出现在通知栏中没有问题,但如果我不打开它并且另一条消息进来,它将被新消息替换。这是我的一些代码。
数据讯息:
//create the notification payload
let payload = {
data: {
title: 'Title',
context: context,
parent: parent,
body: user + " commented on your contribution.",
sound: 'default'
}
};
//send the notification
return admin.messaging().sendToDevice(userToken, payload).then(ok =>{
console.log('Notification sent to: ' + submitter);
}).catch(error => {
console.log('Could not send notification.');
});
我做错了什么?我希望每个通知都出现而不是被替换。
答案 0 :(得分:1)
你正在调试错误的一端。实际问题是在您发布通知的客户端。 如果通知ID是相同的Android操作系统,则发布通知时将替换现有通知。 在代码中查找notify()。有关更多详细信息,请参阅此文档:https://developer.android.com/reference/android/app/NotificationManager.html#notify(int,android.app.Notification)