2.4 KiB
2.4 KiB
Настройка PWA + FCM для веб-клиента (Chrome/Edge/Firefox/Safari iOS)
1) Что нужно создать в Firebase
- Создать проект Firebase.
- Включить Cloud Messaging.
- Создать Web App и получить конфиг:
- apiKey
- authDomain
- projectId
- messagingSenderId
- appId
- В Cloud Messaging -> Web Push certificates сгенерировать VAPID key.
- Для серверной отправки взять Server key (legacy) или настроить HTTP v1 (service account).
2) Куда вставить токены в клиенте
Файл: shine-UI/index.html и shine-UI/firebase-messaging-sw.js.
Заполнить:
window.__SHINE_FIREBASE_CONFIG__window.__SHINE_FIREBASE_VAPID_KEY__FIREBASE_CONFIG(в service worker)
3) Куда вставить серверный ключ FCM
Файл: src/main/resources/application.properties
Добавить:
fcm.server.key=YOUR_FCM_SERVER_KEY
4) PWA требования
- Открывать сайт только по HTTPS (или localhost).
- Разрешить уведомления в браузере.
- Убедиться, что
manifest.webmanifestдоступен. - Убедиться, что
firebase-messaging-sw.jsзарегистрирован.
5) Safari / iPhone (iOS)
- Нужен iOS 16.4+.
- Пользователь должен добавить сайт на Home Screen.
- После запуска PWA с Home Screen дать разрешение на уведомления.
- Без Home Screen web push в Safari iOS не работает.
6) Проверка
- Логин в приложении.
- Клиент вызывает
UpsertPushTokenи отправляет FCM токен на сервер. - Вызов
SendDirectMessageпользователю без активной WS доставки. - Сервер шлет push через FCM.
7) Поддержка разных браузеров
- Chrome/Edge/Opera/Android Browser: FCM web push поддерживается нативно.
- Firefox: поддержка web push есть, но тестировать отдельно (поведение токенов отличается).
- Safari macOS/iOS: web push есть, но требуется PWA режим и Apple-ограничения.