# TTRPG License Manager Android-приложение для администрирования лицензий **TTRPG Player** через сервер [DndGamePlayerLicenseServer](https://git.mailib.ru/ifontosh/DndGamePlayerLicenseServer). ## Возможности - **Лицензии** — список всех продуктовых ключей с параметрами (`sub`, `pid`, лимит устройств, срок, статус отзыва, активированные `deviceId`). - **Новый ключ** — генерация продуктового ключа через `POST /v1/admin/product-keys`. - По умолчанию — **period** (`validDays`, отсчёт с первой активации в TTRPG Player). - Режим **фиксированная дата** — явный `expiresAtSec` (старый формат). - **Настройки** — URL сервера и admin token (`LICENSE_ADMIN_TOKEN`). ## Требования - Android Studio Ladybug (2024.2+) или новее - JDK 17 - Android SDK 35 ## Сборка ### Первоначальная настройка SDK (Windows) ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\setup-android-sdk.ps1 $env:ANDROID_HOME = "$env:LOCALAPPDATA\Android\Sdk" ``` Android Studio установлен в `C:\Program Files\Android\Android Studio`. Для запуска на устройстве подключите телефон с USB-отладкой или создайте эмулятор в Android Studio (Device Manager). ### Сборка debug APK ```bash ./gradlew assembleDebug ``` APK: `app/build/outputs/apk/debug/app-debug.apk` 1. Откройте проект в Android Studio (или соберите через Gradle, см. выше). 2. При первом запуске укажите в **Настройках**: - URL: `https://license.ttrpgplayer.ru/` (или локальный сервер) - Admin token с сервера (`LICENSE_ADMIN_TOKEN`) 3. Run на устройстве или эмуляторе. ```bash ./gradlew assembleDebug ``` ## API сервера Приложение использует admin-эндпоинты (Bearer token): | Метод | Путь | Описание | |-------|------|----------| | GET | `/v1/admin/licenses` | Список лицензий | | POST | `/v1/admin/product-keys` | Создание ключа | Перед использованием приложения задеплойте обновлённый сервер с этими эндпоинтами. ## Логотип Иконка и брендинг — логотип TTRPG Player (фиолетовая молния `#8B5CF6`). ## Локальная разработка с сервером ```bash cd DndGamePlayerLicenseServer cp data.example.json data.json # задайте LICENSE_PRIVATE_KEY_PEM npm start ``` В приложении укажите URL `http://10.0.2.2:3847/` (эмулятор) и admin token.