Files
umbrix/update-server/INDEX.md
Umbrix Developer 76a374950f feat: mobile-like window size and always-visible stats
- Changed window size to mobile phone format (400x800)
- Removed width condition for ActiveProxyFooter - now always visible
- Added run-umbrix.sh launch script with icon copying
- Stats cards now display on all screen sizes
2026-01-17 13:09:20 +03:00

162 lines
5.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
# 🎯 Система Обновлений - Главная Документация
## 📁 Структура папки update-server/
```
update-server/
├── 📖 README.md ← Полная инструкция (начните отсюда)
├── ⚡ QUICK_START.md ← Быстрый старт за 5 минут
├── 🧪 TESTING.md ← Тестирование в эмуляторе
├── 🚀 start_test_server.sh ← Скрипт для запуска тестового сервера
├── 🔧 api.php ← PHP скрипт API (загрузите на сервер)
├── 📄 latest.json ← Информация о версии (обновляйте при релизе)
├── ⚙️ .htaccess ← Настройки Apache (загрузите на сервер)
└── downloads/ ← Папка для APK файлов (создайте на сервере)
└── umbrix-X.X.X.apk
```
---
## 🎓 Что читать?
### Для новичков:
👉 **[QUICK_START.md](QUICK_START.md)** - простая инструкция на 5 минут
### Подробная настройка:
👉 **[README.md](README.md)** - полное руководство со всеми деталями
### Для разработчиков:
👉 **[TESTING.md](TESTING.md)** - как тестировать в эмуляторе
---
## ⚡ Быстрый Старт
### 1⃣ Тестирование (локально)
```bash
# Запустите тестовый сервер
cd update-server
./start_test_server.sh
# Откроется на http://localhost:8000
```
### 2⃣ Настройка приложения
Измените `lib/core/model/constants.dart`:
```dart
// Для тестирования в эмуляторе:
static const customUpdateServerUrl = "http://10.0.2.2:8000/api.php";
static const useCustomUpdateServer = true;
// Для продакшена (когда загрузите на свой сервер):
static const customUpdateServerUrl = "https://api.umbrix.net/api/latest";
static const useCustomUpdateServer = true;
```
### 3⃣ Проверка
1. Запустите приложение в эмуляторе
2. Настройки → О программе → Проверить обновления
3. Должно появиться окно (если версия в latest.json выше)
---
## 🎯 Для продакшена
1. **Загрузите файлы на хостинг:**
- `api.php`
- `latest.json`
- `.htaccess`
2. **Создайте папку `downloads/`**
3. **Настройте домен и SSL**
4. **Измените URL в приложении** → пересоберите
5. **При новом релизе:**
- Загрузите APK в `downloads/`
- Обновите `latest.json`
- Готово! Пользователи получат уведомление
---
## 📋 Чек-лист
Перед запуском убедитесь:
- [ ] PHP 7.4+ установлен
- [ ] Все файлы загружены на сервер
- [ ] Папка `downloads/` создана
- [ ] Домен настроен с HTTPS
- [ ] URL в `constants.dart` правильный
- [ ] Приложение пересобрано
- [ ] API отвечает в браузере
- [ ] APK скачивается
---
## ❓ Проблемы?
### Не работает проверка обновлений?
1. Проверьте `useCustomUpdateServer = true`
2. Проверьте URL (должен быть с `https://`)
3. Пересоберите приложение после изменений
4. Проверьте версию в `latest.json` (должна быть больше текущей)
### API не отвечает?
1. Откройте URL в браузере - должен показаться JSON
2. Проверьте PHP логи на сервере
3. Проверьте права на файлы
### Не скачивается APK?
1. Проверьте, что файл существует в папке `downloads/`
2. Проверьте права: `chmod 644 file.apk`
3. Проверьте URL в `latest.json`
---
## 🔗 Полезные ссылки
- **Полная инструкция:** [README.md](README.md)
- **Быстрый старт:** [QUICK_START.md](QUICK_START.md)
- **Тестирование:** [TESTING.md](TESTING.md)
---
## 💡 Примеры использования
### GitHub (публичный репозиторий)
```dart
static const useCustomUpdateServer = false;
```
### Собственный сервер (приватный репозиторий)
```dart
static const customUpdateServerUrl = "https://api.yoursite.com/api/latest";
static const useCustomUpdateServer = true;
```
---
## 🎉 Готово!
Система обновлений настроена. Теперь вы можете:
✅ Выкатывать обновления без магазинов
✅ Контролировать процесс релизов
✅ Тестировать бета-версии
✅ Видеть аналитику использования
---
**Удачи в разработке! 🚀**