Ich schicke derzeit Web-Benachrichtigungen auf Firefox Desktop-Browsern. Leider sind gelöschte Token weiterhin über Mozilla Push Server drückbar.Gelöschte Firefox-Tokens sind immer noch durch Mozilla Push Server
Um das Token (d. H. Den Subskriptionsendpunkt) zu löschen, das vom ServiceWorker generiert wurde, lösche ich einfach den Cache-Verlauf. Dann sende ich eine Benachrichtigung an den gelöschten Endpunkt: Mozilla gibt eine 201 Created
zurück und teilt uns mit, dass die Benachrichtigung für den Benutzer erstellt wurde und versandbereit ist.
Aber wenn ich dieselben Schritte mit einem Chrome-Browser wiederhole, teilt Google Cloud Messaging mit, dass der Token nicht registriert ist (siehe GCM documentation> "Nicht registriertes Gerät").
Allerdings kann ich in Mozilla documentation klar sehen, dass es Fehlercodes für diese Situation gibt: cf errno 103 - Expired URL endpoint
oder errno106 - Invalid subscription
.
Auch muss ich sagen, dass, wenn ich die native Benachrichtigungserlaubnis, zuvor gewährt, Mozilla gibt als Folge eine errno106 - Invalid Subscription
Fehler zurück. Das Problem ist, wenn das Token gelöscht wurde.
Ich verstehe nicht, was Sie meinen, wenn Sie sagen, dass der Token gelöscht wurde. Ein Token wird "gelöscht", was bedeutet, dass es nicht mehr gültig ist, wenn der Benutzer die native Benachrichtigungsberechtigung blockiert. – collimarco
@collimarco Um es klar zu sagen: Ein Benutzer hat einen Endpunkt und erhält Web-Push. Aber wenn er seinen Browser-Cache löscht, erhält er keine Web-Benachrichtigungen mehr. Also wird dieser Endpunkt nutzlos. Ich möchte, dass Mozilla mir sagt, dass ich niemals mehr zu diesem Endpunkt senden soll. – Arturo
Ich stimme dir zu. In einigen Fällen wissen Sie nicht, ob die Benachrichtigung zugestellt wird. Dies ist jedoch ein Problem bezüglich der Push-API-Spezifikationen oder wie Mozilla das handhabt: Ich denke nicht, dass hier auf StackOverflow jemand eine Lösung bereitstellen kann. – collimarco