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

5.2 KiB
Raw Permalink Blame 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 - простая инструкция на 5 минут

Подробная настройка:

👉 README.md - полное руководство со всеми деталями

Для разработчиков:

👉 TESTING.md - как тестировать в эмуляторе


Быстрый Старт

1 Тестирование (локально)

# Запустите тестовый сервер
cd update-server
./start_test_server.sh

# Откроется на http://localhost:8000

2 Настройка приложения

Измените lib/core/model/constants.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

🔗 Полезные ссылки


💡 Примеры использования

GitHub (публичный репозиторий)

static const useCustomUpdateServer = false;

Собственный сервер (приватный репозиторий)

static const customUpdateServerUrl = "https://api.yoursite.com/api/latest";
static const useCustomUpdateServer = true;

🎉 Готово!

Система обновлений настроена. Теперь вы можете:

Выкатывать обновления без магазинов
Контролировать процесс релизов
Тестировать бета-версии
Видеть аналитику использования


Удачи в разработке! 🚀