1
サービスワーカーを使用してプッシュ通知を実装しました。現在ウィンドウに表示されている通知の数を調べる方法はありますか?私の意図は、ウィンドウに表示される通知の数を制限することです。サービスワーカーからアクティブなプッシュ通知の数を確認する
私は以下を試みました。しかし、空の配列を返すgetNotifications関数。
self.addEventListener('push', function(event) {
if (!(self.Notification && self.Notification.permission === 'granted')) {
return;
}
var data = event.data.json();
var options = {
body: data.notificationText,
icon: 'files/assets/staff.png',
vibrate: [100, 50, 100],
data: {
dateOfArrival: Date.now(),
onClickUrl: data.onClickUrl,
event_id: data.event_id,
productName: data.product_name
}
};
event.waitUntil(
self.registration.getNotifications().then(function(notifications) {
console.log(notifications);
if (notifications && notifications.length > 0) {
notifications.forEach(function(notification) {
notification.close();
});
}
showNotification(data.title, options);
})
);
});
をカウントが0、イベントです。 var data = e.data.json(); var options = { 本文:data.notificationText、 アイコン: 'files/assets/staff.png'、self.addEventListener( 'push'、function(e) データ:{ dateOfArrival:Date.now() }}; e.waitUntil( self.registration.getNotifications()を(関数(通知){ にconsole.log(notifications.length); 自己。 .registration.showNotification(data.title、options) }) ); }); – Stanly
通知を呼び出す前に、すでに表示されている通知があるかどうかを知りたいと思います。 – Stanly
getNotifications()はサービス担当者からの通知のみを返し、他のアプリに表示される通知はカウントされません。 – jedijulia