Ви запустили 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 МБ на модель
- Прев'ю: автоматична генерація 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.







