Files

162 lines
5.2 KiB
Markdown
Raw Permalink Normal View History

# 🎯 Система Обновлений - Главная Документация
## 📁 Структура папки 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;
```
---
## 🎉 Готово!
Система обновлений настроена. Теперь вы можете:
✅ Выкатывать обновления без магазинов
✅ Контролировать процесс релизов
✅ Тестировать бета-версии
✅ Видеть аналитику использования
---
**Удачи в разработке! 🚀**