Посетитель подходит к экспонату — и слышит рассказ без единого нажатия. Или сканирует 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-решений.
Получите бесплатную оценку вашего проекта: напишите нам, и мы подготовим коммерческое предложение.







