168 lines
5.1 KiB
Markdown
168 lines
5.1 KiB
Markdown
|
|
# 🚀 Настройка Собственного Сервера Обновлений
|
|||
|
|
|
|||
|
|
## ❓ Зачем это нужно?
|
|||
|
|
|
|||
|
|
Если ваш GitHub репозиторий **приватный**, приложение не может проверять обновления через GitHub API. Решение - использовать собственный сервер для выкатки обновлений.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📂 Где документация?
|
|||
|
|
|
|||
|
|
Вся документация находится в папке **`update-server/`**
|
|||
|
|
|
|||
|
|
### Быстрый старт:
|
|||
|
|
👉 **[update-server/QUICK_START.md](update-server/QUICK_START.md)** - настройка за 5 минут
|
|||
|
|
|
|||
|
|
### Подробная инструкция:
|
|||
|
|
👉 **[update-server/README.md](update-server/README.md)** - полное руководство
|
|||
|
|
|
|||
|
|
### Тестирование:
|
|||
|
|
👉 **[update-server/TESTING.md](update-server/TESTING.md)** - как тестировать локально
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚙️ Что нужно сделать?
|
|||
|
|
|
|||
|
|
### Шаг 1: Настроить сервер
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Загрузите эти файлы на хостинг:
|
|||
|
|
update-server/api.php # главный скрипт
|
|||
|
|
update-server/latest.json # информация о версии
|
|||
|
|
update-server/.htaccess # настройки
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Шаг 2: Изменить код приложения
|
|||
|
|
|
|||
|
|
Откройте `lib/core/model/constants.dart`:
|
|||
|
|
|
|||
|
|
```dart
|
|||
|
|
// Замените на адрес вашего сервера
|
|||
|
|
static const customUpdateServerUrl = "https://api.umbrix.net/api/latest";
|
|||
|
|
|
|||
|
|
// Включите собственный сервер
|
|||
|
|
static const useCustomUpdateServer = true;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Шаг 3: Пересобрать приложение
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
flutter build apk --release
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 Как протестировать локально?
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Запустите тестовый сервер
|
|||
|
|
cd update-server
|
|||
|
|
./start_test_server.sh
|
|||
|
|
|
|||
|
|
# Сервер запустится на http://localhost:8000
|
|||
|
|
# Для эмулятора используйте: http://10.0.2.2:8000/api.php
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Затем:
|
|||
|
|
1. Откройте приложение
|
|||
|
|
2. Зайдите в **Настройки → О программе**
|
|||
|
|
3. Нажмите **"Проверить обновления"**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📦 Как выкатить новое обновление?
|
|||
|
|
|
|||
|
|
### 🎨 Вариант 1: Через веб-панель (проще!)
|
|||
|
|
|
|||
|
|
**Есть красивый веб-интерфейс для управления!**
|
|||
|
|
|
|||
|
|
1. **Откройте веб-панель:**
|
|||
|
|
```
|
|||
|
|
https://api.umbrix.net/admin/
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **Заполните форму** (все поля с подсказками)
|
|||
|
|
|
|||
|
|
3. **Нажмите "Сохранить обновление"**
|
|||
|
|
|
|||
|
|
4. **Готово!** 🎉
|
|||
|
|
|
|||
|
|
📖 Подробнее: [update-server/admin/README.md](update-server/admin/README.md)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 📝 Вариант 2: Вручную (классический способ)
|
|||
|
|
|
|||
|
|
1. **Соберите APK:**
|
|||
|
|
```bash
|
|||
|
|
flutter build apk --release
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **Загрузите на сервер** в папку `downloads/`
|
|||
|
|
|
|||
|
|
3. **Обновите файл `latest.json`:**
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"version": "2.5.8",
|
|||
|
|
"download_url": "https://api.umbrix.net/downloads/umbrix-2.5.8.apk"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. **Готово!** Пользователи получат уведомление об обновлении
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 Переключение между режимами
|
|||
|
|
|
|||
|
|
### Использовать GitHub (публичный репозиторий):
|
|||
|
|
```dart
|
|||
|
|
static const useCustomUpdateServer = false;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Использовать собственный сервер (приватный):
|
|||
|
|
```dart
|
|||
|
|
static const useCustomUpdateServer = true;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**⚠️ После изменения обязательно пересоберите приложение!**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📖 Структура файлов
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
update-server/
|
|||
|
|
├── INDEX.md ← Навигация по документации
|
|||
|
|
├── README.md ← Полная инструкция
|
|||
|
|
├── QUICK_START.md ← Быстрый старт
|
|||
|
|
├── TESTING.md ← Тестирование
|
|||
|
|
│
|
|||
|
|
├── api.php ← Серверный скрипт
|
|||
|
|
├── latest.json ← Информация о версии
|
|||
|
|
├── .htaccess ← Настройки Apache
|
|||
|
|
└── start_test_server.sh ← Скрипт для тестирования
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ Готово!
|
|||
|
|
|
|||
|
|
Теперь вы можете:
|
|||
|
|
- ✅ Выкатывать обновления без магазинов приложений
|
|||
|
|
- ✅ Контролировать процесс релизов
|
|||
|
|
- ✅ Работать с приватным репозиторием
|
|||
|
|
- ✅ Тестировать бета-версии
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 Нужна помощь?
|
|||
|
|
|
|||
|
|
Смотрите подробную документацию:
|
|||
|
|
- **[update-server/INDEX.md](update-server/INDEX.md)** - навигация
|
|||
|
|
- **[update-server/README.md](update-server/README.md)** - полное руководство
|
|||
|
|
- **[update-server/TESTING.md](update-server/TESTING.md)** - тестирование
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**🚀 Удачи с обновлениями!**
|