Відвідувач підходить до експоната — і чує розповідь без жодного натискання. Або сканує QR-код на табличці. Або вводить номер вручну. Усі три сценарії мають працювати офлайн — музейний Wi-Fi часто підводить. За даними досліджень, понад 60% відвідувачів використовують мобільні пристрої в музеях, але нестабільна мережа знижує враження. Саме тому розробка мобільного аудіогіда для музею має враховувати автономність, надійність виявлення та економію ресурсів. Грамотно спроєктована архітектура дозволяє скоротити бюджет на підтримку та ліцензії — наприклад, відмова від комерційних карт економить кошти. Наша команда розробляє аудіогіди для музеїв з нуля: від вибору маячків до публікації в сторах. За роки роботи реалізували десятки проєктів, включаючи великі державні музеї. У цій статті розберемо технічні деталі: як ми будуємо надійну автономну систему, яка не підводить відвідувачів.
Зв'яжіться з нами, щоб обговорити ваш проєкт та отримати попередню оцінку.
Як працює автоматичне визначення експоната?
Найцікавіший сценарій — proximity-тригер без дій користувача.
iBeacon / Bluetooth LE. Маячки біля кожного експоната (Estimote, Kontakt.io). iOS: CLLocationManager.startRangingBeacons(satisfying:) — отримуємо список маячків з proximity (.immediate / .near / .far) та rssi. Вибираємо найближчий з .immediate і запускаємо аудіо. Важливо: не реагуємо на кожну зміну proximity — debounce 2-3 секунди, інакше аудіо перемикається при випадкових флуктуаціях сигналу.
Android: BluetoothLeScanner з фільтром по UUID виробника маячків. AltBeacon library спрощує ranging. Foreground Service потрібен для сканування в фоні — поки додаток активний, вистачає звичайного сканування. Bluetooth LE — офіційна документація Android.
QR-сканування. Резервний варіант. iOS: VNDetectBarcodesRequest (Vision) — швидше ніж AVMetadataOutput для одноразового сканування. Android: ML Kit Barcode Scanning. Flutter: mobile_scanner.
Введення номера вручну. Завжди як фолбек — на випадок сівшого Bluetooth або відсутності маячків.
Порівняння методів виявлення
| Метод | Точність | Автономність | Ціна реалізації |
|---|---|---|---|
| iBeacon | Висока (до 1 м) | Повна (офлайн) | Середня (маячки $10–30/шт) |
| QR-код | Висока (залежить від камери) | Повна (офлайн) | Низька (паперові мітки) |
| Ручне введення | Низька (помилки введення) | Повна (офлайн) | Нульова |
| NFC-мітки | Середня (контакт) | Повна (офлайн) | Середня (мітки $1–5/шт) |
Офлайн-контент та структура даних
Музей з 200 експонатами — це 200 аудіофайлів, зображення та тексти. Сумарно 300–500 МБ. Стратегія завантаження:
- При першому запуску завантажуємо «легковаговий» пакет: тексти, прев'ю 200px, метадані (UUID маячків, номери експонатів)
- Аудіо завантажуємо порційно або за запитом з кешуванням
Структура сховища: CoreData/Room для метаданих експонатів (id, title, beacon_uuid, qr_code, languages). Аудіофайли — в Application Support/filesDir з маппінгом id → path. SQLite запит «знайди експонат за UUID маячка» — миттєвий.
Багатомовність: користувач обирає мову на початку. Аудіо та тексти зберігаються з суфіксом мови. Завантажуємо лише обрану мову — економимо місце.
Деталі кешування аудіо
Для потокового відтворення використовуємо AVAssetResourceLoader (iOS) та CacheDataSource (ExoPlayer). Кеш зберігається до 1 ГБ, при заповненні витісняється LRU. Тільки аудіо поточної сесії гарантовано завантажено. Користувач може попередньо завантажити все аудіо заздалегідь через налаштування.Аудіоплеєр експоната
AVPlayer (iOS) / ExoPlayer Media3 (Android) / just_audio (Flutter). Особливості для аудіогіда:
- Автостоп при відході від експоната (proximity повернулася до far)
- Прогрес зберігається: повернувся до експоната — продовжує з місця паузи
- Швидкість відтворення: 0.8x для літніх відвідувачів, 1.5x для швидких
- Lock screen controls через MPNowPlayingInfoCenter (iOS) / MediaSession (Android)
Інтерактивна карта експозиції
Карта залів з точками експонатів. Не Google Maps — музей не хоче зовнішніх залежностей та платежів. Використовуємо SVG-карту залів: у додатку це WKWebView з інтерактивним SVG (iOS), WebView (Android) або flutter_svg з GestureDetector (Flutter).
Або нативна реалізація на Canvas/CustomPainter: завантажуємо PNG-карту як підкладку, малюємо точки експонатів поверх з масштабуванням (pinch-to-zoom).
Поточне місцезнаходження відвідувача на карті — через той же iBeacon ranging: визначаємо зал за набором видимих маячків із сильним сигналом. Не GPS — у будівлі не працює. Відмова від комерційних карт економить до кількох сотень доларів на рік на ліцензіях.
Чому CMS для музею обов'язкова?
Адміністратор оновлює тексти та аудіо без релізу додатку. Бекенд: простий REST API + S3 для медіафайлів. Додаток при запуску перевіряє version маніфесту — якщо змінився, завантажує дельту. Це економить час на модерацію та дозволяє оперативно правити екскурсійний контент.
Як реалізувати офлайн-аудіогід: процес роботи
- Аналітика та проєктування. Збираємо вимоги: кількість експонатів, залів, мов, бюджет. Визначаємо стек: нативний або крос-платформа.
- Розробка. Backend (CMS, API), мобільний додаток (плеєр, карта, виявлення), інтеграція маячків.
- Тестування. Перевірка на реальному полігоні з маячками, офлайн-режим, навантаження.
- Деплой. Публікація в App Store та Google Play, налаштування Code Signing, Provisioning Profile, TestFlight.
- Супровід. Гарантія 3 місяці, далі за договором.
Порівняння етапів за часом
| Етап | Тривалість (базова версія) | Тривалість (розширена версія) |
|---|---|---|
| Аналітика | 3-5 днів | 5-7 днів |
| Розробка | 2-3 тижні | 4-5 тижнів |
| Тестування | 1 тиждень | 1.5 тижня |
| Деплой | 3-5 днів | 5-7 днів |
Що входить у роботу
- Архітектурна документація та опис API
- Вихідний код додатку (репозиторій Git)
- Інструкція з експлуатації для співробітників
- Навчання персоналу (1-2 дні)
- Тестовий запуск та налагодження з реальними маячками
- Підтримка протягом гарантійного терміну
Оцінка термінів та вартість
Базова версія (QR + офлайн + плеєр + карта) — 4-6 тижнів. Версія з iBeacon та CMS — 7-9 тижнів. Точну вартість розраховуємо після аналізу вимог. Оцінимо ваш проєкт безплатно — зв'яжіться з нами для консультації.
Сертифіковані розробники з досвідом понад 5 років гарантують якість. Реалізовано 10+ аудіогідів для музеїв України та СНД. iBeacon — стандарт для proximity-рішень.
Отримайте безплатну оцінку вашого проєкту: напишіть нам, і ми підготуємо комерційну пропозицію.







