Я добавил click_action
параметры в функцию push
. Вот мой пример кода.
self.addEventListener("push", function(event) {
var title = event.data.json().notification.title;
var body = event.data.json().notification.body;
var icon = "/assets/img/logo.png";
var click_action =
"http://localhost:4200/#/jobs/notification/" +
event.data.json().data.job_no;
event.waitUntil(
self.registration.showNotification(title, {
body: body,
icon: icon,
click_action: click_action
})
);
});
Для обработки click
в notification
, определен обработчик событий notificationclick
.
Например:
self.addEventListener('notificationclick', function(event) {
var redirect_url = event.notification.data.click_action;
event.notification.close();
event.waitUntil(
clients
.matchAll({
type: "window"
})
.then(function(clientList) {
console.log(clientList);
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
if (client.url === "/" && "focus" in client) {
return client.focus();
}
}
if (clients.openWindow) {
return clients.openWindow(redirect_url);
}
})
);
});
Но я не могу получить параметр click_action
в функции notificationclick
. Я хочу перенаправить push-уведомление на URL в click_action
.
Пожалуйста, помогите мне.