175 lines
11 KiB
Plaintext
175 lines
11 KiB
Plaintext
|
|
═══════════════════════════════════════════════════════════════
|
|||
|
|
🚀 ШПАРГАЛКА - Система Обновлений 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 - тестирование
|
|||
|
|
|
|||
|
|
═══════════════════════════════════════════════════════════════
|
|||
|
|
🎉 Готово! Удачи с обновлениями! 🚀
|
|||
|
|
═══════════════════════════════════════════════════════════════
|