У меня есть серверная часть, которая отправляет уведомления при публикации нового сообщения. Он отправляет это уведомление всем устройствам, подписавшимся на уведомления с токеном.
На веб-интерфейсе пользователь может перейти к настройкам и определить, для каких категорий он хочет получать push-уведомления. Эти предпочтения хранятся в местном хранилище.
Если опубликовано новое сообщение, push-уведомление должно отображаться только в том случае, если сообщение соответствует тому, что пользователь установил в своих настройках.
Поскольку работники сферы обслуживания не имеют доступа к местному хранилищу, я не знаю, как внутри работника службы решить, показывать или не показывать уведомление.
Да, есть также IndexedDB, но проблема в том, что даже если я реализовал его с IndexedDB вместо localalstorage, есть еще одна проблема: в будущем пользовательские настройки должны храниться в localstorage (или indexeddb) для " только для гостей (имеется в виду незарегистрированные пользователи). Настройки зарегистрированных пользователей должны быть сохранены в базе данных.
Как лучше всего решить, должно ли отображаться уведомление или нет?