Files
Avtex/FIREBASE_DONE.md
T

5.0 KiB
Raw Blame History

✅ Настройка 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:

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:

  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"

📚 Документация


Готово! Запускай flutter run 🚀