Ich habe einen Service-Mitarbeiter, der in der Lage ist, das Push-Ereignis von unserem Server zu empfangen, es funktioniert alles soweit. Die aktuelle Version von Chrome unterstützt keine Datennutzdaten innerhalb der empfangenen Benachrichtigung. Daher muss ich die Info über die Benachrichtigung (Titel, Text, ..) von dem Server abrufen, nachdem das Push-Ereignis aufgetreten ist.Web-Push-Benachrichtigungsdienst Arbeiter Design
Um sicherzustellen, dass der Benutzer nicht zweimal die gleiche Benachrichtigung erhält, speichere ich die IDs der "ausstehenden" Benachrichtigungen, die er noch nicht in einem Array erhalten hat. Jedes Mal, wenn der Service-Mitarbeiter den Server anpingt, wird das letzte Element aus dem Array abgerufen und aus dem Array entfernt.
Das Problem ist, dass, wenn während des Sendens oder während des Abrufs der Benachrichtigung eine Ausnahme beim Dienstabruf ausgelöst wird, der Dienstmitarbeiter eine Benachrichtigung dahinter hat, was bedeutet, dass z. Das Array enthält immer 2 Elemente, wenn nur eine neue Benachrichtigung aussteht.
Wie soll ich damit umgehen?