Мой технический стек
- Внешний интерфейс: 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).
- Это обязательно произойдет.
- Подпишитесь
Подробнее здесь: https://stackoverflow.com/questions/798 ... ct-websock