我正在使用Firebase Cloud Messaging(FCM)向Android设备发送PWA的提醒通知,提醒在正确的时间发送,但它以不同的格式发送了2次通知(屏幕截图:https://i.stack.imgur.com/Hywao.jpg)。
我使用Firebase函数在正确的时间触发通知。然而,我用NodeJS编写的函数似乎没有问题,因为当我在控制台中测试FCM活动时,我也收到了2个通知而不是1个。
函数日志似乎只发送1个通知。
if (new Date(currentTime).getHours() === new Date(reminderDate).getHours() && new Date(currentTime).getMinutes() === new Date(reminderDate).getMinutes()) {
const devicetoken = user.data().deviceToken;
const userId = user.id;
console.log(`Sending intake notification to user ${userId}`);
const payload = {
notification: {
title: "Erinnerung Tabletteneinnahme",
body: "test",
image: "https://firebasestorage.googleapis.com/v0/b/lilly-c51cf.appspot.com/o/FCMImages%2Ficon.png?alt=media&token=94b9d38c-c141-4aa9-8cb5-1cf70eb165ca",
icon: "https://firebasestorage.googleapis.com/v0/b/lilly-c51cf.appspot.com/o/FCMImages%2Ficon.png?alt=media&token=94b9d38c-c141-4aa9-8cb5-1cf70eb165ca",
}
};
admin.messaging().sendToDevice(devicetoken, payload);
}
1条答案
按热度按时间ccrfmcuu1#
对于message payload,如果您发送
notification
属性,firebase messaging sw将自动显示通知。如果你使用
data
属性,那么firebase消息软件将不会自动显示通知,你有所有的控制权。基本上,将构建有效负载的方式更改为如下所示:
P.S:看来
sendToDevice()
现在已经被弃用了