Я пытаюсь реализовать веб-push-уведомления в своем проекте, но ни один из опробованных мной подходов не работает. Я не уверен, связана ли проблема с внешним интерфейсом, серверной частью, сервисным работником или конфигурацией поставщика push-уведомлений.
Мой технический стек
Внешний интерфейс: React + Vite
Бэкенд: Spring Boot (Java)
База данных: MySQL (хранение push-уведомлений) подписки/токены устройства)
Что я пробовал
Я попробовал несколько методов отправки push-уведомлений:
WebSockets — соединение в реальном времени работает, но уведомление не отображается в браузере, когда вкладка закрыта или неактивна.
VAPID + Web Push API – подписка.
AWS SNS (приложение веб-платформы Push) – устройство зарегистрировано, но SNS возвращает ошибки доставки сообщений.
Облачный обмен сообщениями Firebase – генерируется токен FCM, но уведомление на клиенте не поступает.
Текущее поведение
Service Worker успешно регистрируется.
Push-подписка создается и сохраняется в SQL.
IN
Либо я получаю ошибку сервера (400/500)
Или запрос успешен, но уведомление не появляется в браузере.
В чем мне нужна помощь
Каков правильный/лучший способ реализовать push-уведомления браузера для:
React (Vite)
Java Spring Boot
Service Worker
Есть ли рабочий пример или типичные ошибки, которые стоит проверить?
Есть ли обязательные заголовки, форматы полезных данных или правила сервис-воркера, которые мне могут не хватать?
Дополнительные примечания
Я тестирую локальный хост + рабочий домен (HTTPS).
Я пытаюсь реализовать веб-push-уведомления в своем проекте, но ни один из опробованных мной подходов не работает. Я не уверен, связана ли проблема с внешним интерфейсом, серверной частью, сервисным работником или конфигурацией поставщика push-уведомлений. Мой технический стек [list] [*]Внешний интерфейс: React + Vite
[*]Бэкенд: Spring Boot (Java)
[*]База данных: MySQL (хранение push-уведомлений) подписки/токены устройства)
[/list] Что я пробовал Я попробовал несколько методов отправки push-уведомлений: [list] [*]WebSockets — соединение в реальном времени работает, но уведомление не отображается в браузере, когда вкладка закрыта или неактивна.
[*]VAPID + Web Push API – подписка.
[*]AWS SNS (приложение веб-платформы Push) – устройство зарегистрировано, но SNS возвращает ошибки доставки сообщений.
[*]Облачный обмен сообщениями Firebase – генерируется токен FCM, но уведомление на клиенте не поступает.
[/list] Текущее поведение [list] [*]Service Worker успешно регистрируется.
[*]Push-подписка создается и сохраняется в SQL.
[*]IN
Либо я получаю ошибку сервера (400/500)
[*]Или запрос успешен, но уведомление не появляется в браузере.
[/list]
В чем мне нужна помощь [list] [*]Каков правильный/лучший способ реализовать push-уведомления браузера для: [list] React (Vite)
[*]Java Spring Boot
[*]Service Worker
[/list]
[*]Есть ли рабочий пример или типичные ошибки, которые стоит проверить?
[*]Есть ли обязательные заголовки, форматы полезных данных или правила сервис-воркера, которые мне могут не хватать?
[/list] Дополнительные примечания [list] [*]Я тестирую локальный хост + рабочий домен (HTTPS).