Я использую сервис pushy.me для получения push-уведомлений, и я все настраиваю правильно.Итак, теперь я получаю push-файл в файле сервисного работника и могу показать его в консоли, но проблема в том, что я должен получить доступ к данным push-запроса в моих реагирующих компонентах, так как я могу экспортировать сгруппированные данные в сервисном работнике и получить к ним доступ измои реагирующие компоненты или любые другие js-файлы?
Я предполагаю, что могу выбросить другое событие в событие сервисного работника и получить его от любого другого компонента, но не смог сделать это, потому что я действительно новичок в событиях!
это файл service-worker.js:
// Import Pushy Service Worker 1.0.3
// Listen for incoming push notifications
self.addEventListener("push", function(event) {
// Extract payload as JSON object, default to empty object
var data = event.data.json() || {};
console.log(data);
var e = new CustomEvent("build", { data });
// Extract notification image URL
var image = data.image || "https://sdk.pushy.me/web/assets/img/icon.png";
// Notification title and body
var title = data.title || "";
var body = data.message || "";
// Notification options
var options = {
body: body,
icon: image,
badge: image,
data: {
url: data.url
}
};
// Wait until notification is shown
event.waitUntil(self.registration.showNotification(title, options));
});
// Listen for notification click event
self.addEventListener("notificationclick", function(event) {
// Hide notification
event.notification.close();
// Attempt to extract notification URL
var url = event.notification.data.url;
// Check if it exists
if (url) {
// Open the target URL in a new tab/window
event.waitUntil(clients.openWindow(url));
}
});