═══════════════════════════════════════════════════════════════ 🚀 ШПАРГАЛКА - Система Обновлений Umbrix ═══════════════════════════════════════════════════════════════ ┌─────────────────────────────────────────────────────────────┐ │ 📖 ШАГ 1: ПРОЧИТАЙТЕ ИНСТРУКЦИИ │ └─────────────────────────────────────────────────────────────┘ 📄 UPDATE_SERVER_GUIDE.md ← НАЧНИТЕ ЗДЕСЬ 📂 update-server/ ├── QUICK_START.md ← Быстрый старт (5 минут) ├── README.md ← Полная инструкция └── TESTING.md ← Тестирование ┌─────────────────────────────────────────────────────────────┐ │ 🧪 ШАГ 2: ПРОТЕСТИРУЙТЕ ЛОКАЛЬНО │ └─────────────────────────────────────────────────────────────┘ $ cd update-server $ ./start_test_server.sh ➜ Сервер запустится на http://localhost:8000 ➜ Для эмулятора: http://10.0.2.2:8000/api.php ┌─────────────────────────────────────────────────────────────┐ │ ⚙️ ШАГ 3: НАСТРОЙТЕ КОД │ └─────────────────────────────────────────────────────────────┘ Файл: lib/core/model/constants.dart ┌──────────────────────────────────────────────────────┐ │ // Для ТЕСТИРОВАНИЯ: │ │ static const customUpdateServerUrl = │ │ "http://10.0.2.2:8000/api.php"; │ │ │ │ // Для ПРОДАКШЕНА: │ │ static const customUpdateServerUrl = │ │ "https://api.umbrix.net/api/latest"; │ │ │ │ // ВКЛЮЧИТЬ собственный сервер: │ │ static const useCustomUpdateServer = true; │ └──────────────────────────────────────────────────────┘ ⚠️ ВАЖНО: Пересоберите после изменений! $ flutter build apk --release ┌─────────────────────────────────────────────────────────────┐ │ 🎯 ШАГ 4: ПРОВЕРЬТЕ В ПРИЛОЖЕНИИ │ └─────────────────────────────────────────────────────────────┘ 1. Запустите приложение в эмуляторе 2. Откройте: Настройки → О программе 3. Нажмите: "Проверить обновления" 4. Должно появиться окно с новой версией ┌─────────────────────────────────────────────────────────────┐ │ 🌐 ШАГ 5: ЗАГРУЗИТЕ НА СЕРВЕР (ПРОДАКШЕН) │ └─────────────────────────────────────────────────────────────┘ Загрузите через FTP/панель хостинга: 📁 /var/www/updates/ ├── api.php ← главный скрипт ├── latest.json ← информация о версии ├── .htaccess ← настройки Apache └── downloads/ ← создайте пустую папку └── (APK файлы будут здесь) Настройте домен: api.umbrix.net → /var/www/updates Включите SSL (Let's Encrypt бесплатно) ┌─────────────────────────────────────────────────────────────┐ │ 📦 КАК ВЫКАТИТЬ НОВОЕ ОБНОВЛЕНИЕ? │ └─────────────────────────────────────────────────────────────┘ 🎨 СПОСОБ 1: Через веб-панель (рекомендуется) 1. Откройте: https://api.umbrix.net/admin/ 2. Заполните форму (версия, URL, описание) 3. Нажмите "Сохранить обновление" 4. Готово! 🎉 📝 СПОСОБ 2: Вручную (старый способ) 1. Соберите APK: $ flutter build apk --release 2. Переименуйте: app-release.apk → umbrix-2.5.8.apk 3. Загрузите в папку downloads/ на сервере 4. Обновите latest.json: { "version": "2.5.8", "build_number": "258", "download_url": "https://api.umbrix.net/downloads/umbrix-2.5.8.apk", "release_notes": "🎉 Что нового...", "published_at": "2026-01-17T12:00:00Z" } 5. Готово! Пользователи получат уведомление ┌─────────────────────────────────────────────────────────────┐ │ ✅ ПРОВЕРОЧНЫЙ СПИСОК │ └─────────────────────────────────────────────────────────────┘ Перед запуском убедитесь: □ PHP 7.4+ установлен на сервере □ Файлы загружены: api.php, latest.json, .htaccess □ Папка downloads/ создана (права 755) □ Домен настроен с HTTPS □ URL в constants.dart правильный □ useCustomUpdateServer = true □ Приложение пересобрано □ API отвечает в браузере: https://api.umbrix.net/api/latest □ APK скачивается: https://api.umbrix.net/downloads/umbrix-X.X.X.apk ┌─────────────────────────────────────────────────────────────┐ │ 🔧 ПОЛЕЗНЫЕ КОМАНДЫ │ └─────────────────────────────────────────────────────────────┘ # Проверить API в браузере: https://api.umbrix.net/api/latest # Проверить через curl: $ curl https://api.umbrix.net/api/latest # Собрать APK: $ flutter build apk --release # Запустить в эмуляторе: $ flutter run # Установить APK в эмулятор: $ flutter install # Посмотреть логи: $ adb logcat | grep -i umbrix ┌─────────────────────────────────────────────────────────────┐ │ ❓ ЧАСТЫЕ ПРОБЛЕМЫ │ └─────────────────────────────────────────────────────────────┘ ❌ "Обновления не приходят" ✅ Проверьте: useCustomUpdateServer = true ✅ Проверьте: URL правильный (с https://) ✅ Пересоберите приложение ✅ Версия в latest.json должна быть БОЛЬШЕ текущей ❌ "API не отвечает" ✅ Откройте URL в браузере - должен показать JSON ✅ Проверьте PHP логи на сервере ✅ Проверьте, что файлы загружены ❌ "Не скачивается APK" ✅ Проверьте, что файл существует в downloads/ ✅ Проверьте права: chmod 644 file.apk ✅ Проверьте URL в latest.json ┌─────────────────────────────────────────────────────────────┐ │ 📞 ДОКУМЕНТАЦИЯ │ └─────────────────────────────────────────────────────────────┘ 📄 UPDATE_SERVER_GUIDE.md - главная инструкция 📂 update-server/INDEX.md - навигация 📂 update-server/README.md - полное руководство 📂 update-server/QUICK_START.md - быстрый старт 📂 update-server/TESTING.md - тестирование ═══════════════════════════════════════════════════════════════ 🎉 Готово! Удачи с обновлениями! 🚀 ═══════════════════════════════════════════════════════════════