我使用云函数发送通知。它有效,但我想要可折叠的消息。我该怎么做?这是我目前的函数:
exports.sendNotifications = functions.database
.ref("/users/{userId}/data")
.onWrite(event => {
const userId = event.params.userId;
if (!event.data.val()) {
return;
}
const payload = {
notification: {
title: `Hey`,
body: 'It's your turn!'
//icon: receiver.photoURL
}
};
const options = {
collapseKey: 'myturnkey'
};
return admin
.database()
.ref(`users/${userId}/data/notificationkey`)
.once('value')
.then(data => {
console.log('inside key', data.val());
if (data.val()) {
return admin.messaging().sendToDevice(data.val(), payload, options);
}
});
});
我在选项中尝试了"collapseKey"和"collapse_key",但它们都不起作用,每次调用我的函数时我仍然会收到通知,所以我在 iPhone 上收到一个通知列表,而我只想要一个。
编辑
我还根据 FCM 消息文档尝试了参数"apns-collapse-id",但是当我尝试部署函数时,控制台说" apns-collapse-id: 'myturnkey', ^ 语法错误:意外令牌 -">
谢谢
亚历山大
可以使用 registration.getNotifications()
API 执行此操作,或以其他方式操作当前通知,该 API 使你能够访问 Web 应用的所有当前可见通知。
但是您需要在
Service-worker
中编写此代码
有关合并通知,请参阅此文档