Files
Avtex/FIREBASE_DONE.md
T

191 lines
5.0 KiB
Markdown
Raw 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.
# ✅ Настройка Firebase завершена!
## 📦 Что сделано:
### 1. Gradle настроен правильно ✅
- **Kotlin DSL** (`build.gradle.kts`) — современный подход
- **Google Services Plugin** версии 4.4.4 добавлен
- **Firebase BoM** версии 34.11.0 подключён
- Все Firebase зависимости добавлены:
- `firebase-analytics`
- `firebase-auth`
- `firebase-firestore`
- `firebase-messaging`
### 2. Package name ✅
- Application ID: `com.nanaxe.nanaxe_crm`
- Соответствует `google-services.json`
### 3. AndroidManifest обновлён ✅
- Добавлены разрешения для Firebase и уведомлений
- Название приложения: "NANAHUI CRM"
### 4. Правила безопасности Firestore ✅
- Файл `firestore.rules` создан
- Доступ только для аутентифицированных пользователей
- Поддержка ролей (admin, member, viewer)
---
## 🚀 СЛЕДУЮЩИЙ ШАГ: Загрузить правила безопасности
### Открой Firebase Console:
1. Перейди в https://console.firebase.google.com
2. Выбери проект `nanax26-1f33b`
3. Слева: **Build** → **Firestore Database**
4. Вверху выбери вкладку **Rules**
5. Скопируй содержимое файла `firestore.rules` и вставь в редактор
6. Нажми **Publish**
**Или используй Firebase CLI:**
```bash
npm install -g firebase-tools
firebase login
firebase use nanax26-1f33b
firebase deploy --only firestore:rules
```
---
## 📱 Запуск приложения
### 1. Подключи устройство или запусти эмулятор
```bash
# Проверка подключенных устройств
flutter devices
```
### 2. Запусти приложение
```bash
flutter run
```
### 3. Если ошибка с SHA-1 ключом
Для Google Sign-In нужен SHA-1 fingerprint:
```bash
# Для debug ключа (Windows)
cd android
gradlew app:signingReport
```
Скопируй SHA-1 из отчёта и добавь в Firebase Console:
1. Project Settings → Your apps → Android app
2. Add fingerprint
3. Вставь SHA-1
4. Save
---
## 🔧 Проверка работы
### Чек-лист:
- [ ] Firebase проект создан
- [ ] Authentication включён (Google provider)
- [ ] Firestore база создана (region: eur3)
- [ ] Android приложение зарегистрировано
- [ ] `google-services.json` лежит в `android/app/`
- [ ] Gradle файлы обновлены
- [ ] Правила безопасности загружены в Firebase
- [ ] SHA-1 fingerprint добавлен (для Google Sign-In)
### Тест аутентификации:
1. Запусти приложение
2. Нажми "Войти через Google"
3. Выбери аккаунт
4. Если успешно — переход на главный экран ✅
---
## 📊 Структура Firestore (автоматически создаётся)
```
users/
└─ {userId}/
├─ email
├─ displayName
├─ role: "member"
├─ teamIds: []
└─ settings: {}
teams/
└─ {teamId}/
├─ name
├─ memberIds: []
└─ projects: subcollection
projects/
└─ {projectId}/
├─ name
├─ ownerId
└─ tasks: subcollection
tasks/
└─ {taskId}/
├─ title
├─ status: "todo"
├─ priority: "medium"
└─ assigneeId
mindmaps/
└─ {projectId}/
└─ nodes/
└─ {nodeId}/
├─ title
├─ level
└─ parentId
events/
└─ {eventId}/
├─ title
├─ startTime
└─ attendeeIds
alarms/
└─ {alarmId}/
├─ title
├─ dateTime
└─ isRepeating
```
---
## 🆘 Возможные ошибки
### "No Firebase App"
```
Проверь что google-services.json лежит в android/app/
```
### "Sign-in failed"
```
1. Добавь SHA-1 fingerprint в Firebase Console
2. Перескачай google-services.json
3. Пересобери приложение: flutter clean && flutter run
```
### "Permission denied"
```
1. Проверь что правила безопасности загружены
2. Убедись что пользователь аутентифицирован
```
### "App not found"
```
1. Проверь что package name совпадает:
- В google-services.json: "com.nanaxe.nanaxe_crm"
- В build.gradle.kts: applicationId = "com.nanaxe.nanaxe_crm"
```
---
## 📚 Документация
- [Firebase Flutter Setup](https://firebase.flutter.dev/docs/overview)
- [Firestore Rules](https://firebase.google.com/docs/firestore/security/get-started)
- [Google Sign-In Flutter](https://pub.dev/packages/google_sign_in)
---
**Готово! Запускай `flutter run`** 🚀