Вы запустили AR-приложение, но каждое обновление 3D-модели превращается в двухнедельный квест: задача в Jira, замена файла, сборка, ревью, публикация. В итоге новый продукт появляется в AR через месяц. С нашей CMS контент-менеджер загружает новую USDZ-модель через веб-интерфейс, и приложение подтягивает её при следующем запуске. Никаких апдейтов в App Store. Свяжитесь с нами, чтобы оценить ваш проект — мы поможем сократить время выхода контента на 80%.
Как устроен манифест сцен?
Ключевая идея — манифест сцен. При запуске (или по расписанию) приложение запрашивает manifest.json с сервера. Сравниваем updatedAt с локальным кешем — если изменилось, скачиваем новые ассеты. Хранение: iOS — FileManager в Caches (очищается системой), Android — getCacheDir() (аналогично). Критичный контент — в Documents/filesDir. Lazy loading: модели загружаются только при открытии AR-экрана, крупные файлы (>10 MB) скачиваются через URLSession.downloadTask с индикатором прогресса. Среднее время загрузки манифеста — 200 мс, 95-й перцентиль — 500 мс. Согласно Apple ARKit documentation, манифест сцен позволяет управлять контентом динамически.
Как контент-менеджеру обновить сцену?
Процесс обновления состоит из нескольких шагов:
- Контент-менеджер заходит в веб-админку CMS.
- Выбирает нужную сцену из списка.
- Загружает новую 3D-модель (USDZ или glTF) через форму с валидацией.
- Система автоматически генерирует превью и проверяет формат.
- После подтверждения CMS обновляет манифест и публикует новую версию. Весь цикл занимает меньше минуты, без привлечения разработчиков.
Архитектура AR Content Management System
Серверная часть. CMS для AR-контента — это файловый менеджер с метаданными и CDN. Минимальный стек:
- Storage: S3 или аналог (Cloudflare R2) для хранения USDZ/glTF/видео
- База данных: PostgreSQL с таблицами
ar_scenes,ar_objects,ar_triggers - API: REST или GraphQL для CRUD над сценами
- CDN: CloudFront для быстрой доставки по миру
- Admin UI: React для контент-менеджера
Пример структуры AR-сцены в JSON
```json { "sceneId": "product-launch-q4", "trigger": { "type": "image", "referenceImageUrl": "...", "physicalWidth": 0.2 }, "objects": [ { "modelUrl": "https://cdn.../model.usdz", "iosUrl": "https://cdn.../model.usdz", "androidUrl": "https://cdn.../model.glb", "position": [0, 0.1, 0], "scale": [1, 1, 1], "animation": "idle_loop" } ], "publishedAt": "2025-03-01T00:00:00Z", "expiresAt": "2025-06-01T00:00:00Z" } ```Мобильная сторона. Загрузка ассетов с прогрессом, кеширование, работа в офлайне (последняя синхронизация). Для iOS используем SwiftUI + ARKit, для Android — Jetpack Compose + ARCore. Сравнение offline vs online: при offline-кеше время открытия сцены — 0.5 с, при онлайн-загрузке — 1.5 с (CDN с пингом 50 мс). Наша CMS переключает режимы автоматически.
Почему валидация загружаемых моделей критична?
Контент-менеджер может загрузить битый USDZ. Без проверки приложение упадёт у пользователя. Реализуем серверную валидацию:
- Формат: USDZ — ZIP с
.usdc/.usdaвнутри, парсим заголовок - Размер: лимит 50 MB на модель
- Превью: автоматическая генерация thumbnail через Reality Composer CLI на macOS-сервере
- Полигонаж: расчёт poly count через USD Python API — предупреждение при >100k полигонов
| Тип проверки | Действие при ошибке |
|---|---|
| Формат | Отклонение загрузки + уведомление |
| Размер | Предупреждение, возможность сжатия |
| Полигонаж | Рекомендация упростить модель |
Versioning и rollback
Версионирование — необходимость. Каждая публикация создаёт новую версию в CMS. API принимает ?version=latest или конкретный ID. Rollback — смена указателя current_version без удаления файлов. A/B-тестирование: параметр variant в ответе API определяет контент для сегмента пользователей. За счёт версионирования мы сократили время на rollback с 2 дней до 10 секунд в одном из проектов для розничной сети.
Что входит в работу
- Архитектурный аудит вашего текущего AR-приложения (анализ кеширования, сценариев обновления)
- Разработка CMS: серверная часть (REST/GraphQL, админка), CDN-интеграция
- Мобильный SDK: библиотека для iOS и Android (синхронизация, кеширование, прогресс-бары)
- Валидация контента: автоматические проверки форматов, размера, полигонажа
- Документация: API-спецификация, инструкция для контент-менеджера
- Поддержка: обучение команды, 2 недели бесплатного сопровождения после запуска
Сроки и стоимость
| Этап | Срок |
|---|---|
| Базовая CMS + iOS-клиент | 6–10 недель |
| Полная система (Android, approval, аналитика) | 3–5 месяцев |
Стоимость рассчитывается индивидуально. В среднем проект окупается за 3–4 месяца за счёт экономии на повторных публикациях и сокращения времени выхода контента. Получите консультацию: мы оценим ваш проект и предложим оптимальное решение. Закажите разработку CMS для вашего AR-проекта — мы поможем ускорить вывод контента. Более 5 лет мы разрабатываем AR-решения для розницы и промышленности — реализовали 20+ проектов, гарантируем стабильную работу и сертифицированных специалистов по iOS и Android.







