5.0 KiB
5.0 KiB
✅ Настройка Firebase завершена!
📦 Что сделано:
1. Gradle настроен правильно ✅
- Kotlin DSL (
build.gradle.kts) — современный подход - Google Services Plugin версии 4.4.4 добавлен
- Firebase BoM версии 34.11.0 подключён
- Все Firebase зависимости добавлены:
firebase-analyticsfirebase-authfirebase-firestorefirebase-messaging
2. Package name ✅
- Application ID:
com.nanaxe.nanaxe_crm - Соответствует
google-services.json
3. AndroidManifest обновлён ✅
- Добавлены разрешения для Firebase и уведомлений
- Название приложения: "NANAXE CRM"
4. Правила безопасности Firestore ✅
- Файл
firestore.rulesсоздан - Доступ только для аутентифицированных пользователей
- Поддержка ролей (admin, member, viewer)
🚀 СЛЕДУЮЩИЙ ШАГ: Загрузить правила безопасности
Открой Firebase Console:
- Перейди в https://console.firebase.google.com
- Выбери проект
nanax26-1f33b - Слева: Build → Firestore Database
- Вверху выбери вкладку Rules
- Скопируй содержимое файла
firestore.rulesи вставь в редактор - Нажми Publish
Или используй Firebase CLI:
npm install -g firebase-tools
firebase login
firebase use nanax26-1f33b
firebase deploy --only firestore:rules
📱 Запуск приложения
1. Подключи устройство или запусти эмулятор
# Проверка подключенных устройств
flutter devices
2. Запусти приложение
flutter run
3. Если ошибка с SHA-1 ключом
Для Google Sign-In нужен SHA-1 fingerprint:
# Для debug ключа (Windows)
cd android
gradlew app:signingReport
Скопируй SHA-1 из отчёта и добавь в Firebase Console:
- Project Settings → Your apps → Android app
- Add fingerprint
- Вставь SHA-1
- Save
🔧 Проверка работы
Чек-лист:
- Firebase проект создан
- Authentication включён (Google provider)
- Firestore база создана (region: eur3)
- Android приложение зарегистрировано
google-services.jsonлежит вandroid/app/- Gradle файлы обновлены
- Правила безопасности загружены в Firebase
- SHA-1 fingerprint добавлен (для Google Sign-In)
Тест аутентификации:
- Запусти приложение
- Нажми "Войти через Google"
- Выбери аккаунт
- Если успешно — переход на главный экран ✅
📊 Структура 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"
📚 Документация
Готово! Запускай flutter run 🚀