Files
PTah e2b5fb7604 docs: Seaca mobile operator guide and FCM setup
Документация для админа и runbook: коды регистрации, устройства,
настройка SAC_FCM на сервере.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 15:34:34 +10:00

50 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 — только серверу.