# FCM (push) для Seaca Настраивается **только на сервере SAC** и в **Firebase**; в веб-UI — индикатор и тест push на устройство. ## 1. Firebase 1. [Firebase Console](https://console.firebase.google.com/) → создать проект (или использовать существующий). 2. Добавить Android-приложение с package name **`ru.kalinamall.seaca`** (как в APK Seaca). 3. Скачать `google-services.json` — файл для **сборки Seaca**, в git не коммитить. 4. **Project settings → Service accounts → Generate new private key** — JSON для **сервера SAC**. ## 2. Сервер SAC ```bash sudo install -o sac -g sac -m 600 /path/to/firebase-key.json \ /etc/security-alert-center/fcm-service-account.json ``` В `/opt/security-alert-center/config/sac-api.env`: ```ini SAC_FCM_ENABLED=true SAC_FCM_PROJECT_ID=your-firebase-project-id SAC_FCM_SERVICE_ACCOUNT_JSON=/etc/security-alert-center/fcm-service-account.json ``` Перезапуск API: ```bash sudo systemctl restart sac-api ``` ## 3. Политика оповещений **Настройки → Правило оповещений** → канал **Seaca (push)**. Действуют те же `min_severity`, cooldown и dedup, что для Telegram/email. ## 4. Проверка 1. Телефон привязан (enroll), в списке устройств **FCM: да**. 2. **Настройки → Мобильные устройства → Тест push** на строке устройства. 3. Либо сгенерировать событие с severity выше порога policy. ## 5. Ограничения - FCM доставляет через инфраструктуру Google; payload формирует SAC (заголовок, id, deep link). - Без `SAC_FCM_ENABLED=true` push не отправляется; приложение и REST API работают. - `google-services.json` нужен приложению; service account JSON — только серверу.