service worker in KaiOS

strukturart

Erfahrenes Mitglied
Hallo,

ich erstelle zur Zeit eine Kalender App für KaiOs:
GitHub - strukturart/greg: Calendar for KaiOS


In dieser App möchte ich zum erstenmal eine Service Worker verwenden,
um bei einer Benachrichtigung das App zu öffnen wenn der User auf die Benachrichtigung klickt..

Die Benachrichtigung erscheint, jedoch hören die "Listener" nicht zu und geben kein Feedback.

Fehlt mir ein Schritt damit der Service Worker funktioniert ?

Hauptscript den Service Worker regestrieren
Javascript:
navigator.serviceWorker
  .register("service-worker.js")
  .then((reg) => {
    // registration worked
    console.log("Registration succeeded. Scope is " + reg.scope);
  })
  .catch((error) => {
    // registration failed
    console.log("Registration failed with " + error);
  });

navigator.serviceWorker.ready.then(function (registration) {});

//alarm notification
if (navigator.mozSetMessageHandler) {
  navigator.mozSetMessageHandler("alarm", function (message) {
    // helper.notify("Greg", message.data.foo, false);

    navigator.serviceWorker.ready.then(function (registration) {
      console.log(registration);
      registration.showNotification("Greg", {
        body: "Greg notification",
        actions: [
          { action: "open", title: "open", icon: "" },
          { action: "dismiss", title: "dismiss", icon: "" },
        ],
        requireInteraction: true,
      });
    });
  });
}

Das Service Worker script, welches nicht reagiert
Javascript:
self.addEventListener("notificationclick", (event) => {
  console.log(event.action);
  if (event.action === "dismiss") {
    return; // dismissed
  }

  if (event.action === "open") {
    console.log("open");
    clients.openApp({ msg: event.notification });
  }
});

self.addEventListener("install", (event) =>
  console.log("ServiceWorker installed")
);


Danke für's lesen.
 

Neue Beiträge

Zurück