Турист в незнакомом городе открывает приложение путеводителя. Медленный роуминг, яркое солнце, батарея на 20%. Ему нужен аудиогид, который заработает сразу, и карта, которая не зависнет. Именно такие сценарии диктуют архитектуру: офлайн-кеш, геофенсы для автостарта аудио и адаптивный интерфейс с крупными элементами. Наша команда сертифицированных инженеров (опыт 5+ лет, реализовано 40+ проектов) гарантирует стабильную работу в любых походных условиях. При разработке мы учитываем ограничения мобильных устройств: размер приложения не должен превышать 150 МБ для одного города, а потребление батареи — минимальным. Геофенсы с радиусом 50–100 метров позволяют запускать аудиогид без участия пользователя, а офлайн-карты на Mapbox или HERE Maps обеспечивают навигацию без интернета.
Какие задачи решает приложение-путеводитель?
Пользователь хочет гулять, не глядя в телефон. Аудиогид должен включаться автоматически при приближении к объекту. Карта должна быть доступна без интернета. Размер приложения — не более 150 МБ для города, чтобы помещалось на любой смартфон. Монетизация — через продажу премиум-маршрутов, подписку или разовые покупки.
Как обеспечить офлайн-доступ к картам?
Туристы скачивают путеводитель перед поездкой и используют без интернета. Офлайн-карты — первый приоритет. Выбор SDK влияет на архитектуру:
| SDK | Офлайн-тайлы | Программное управление | Размер кеша для города |
|---|---|---|---|
| Mapbox | Да, через OfflineManager |
Полный контроль | 50–200 МБ |
| Google Maps | Только через UI приложения | Нет | — |
| HERE Maps | Да | Полный контроль | 60–250 МБ |
Для собственного путеводителя Mapbox или HERE Maps SDK — единственные варианты с программным управлением офлайн-кешем. Пользователь выбирает город, приложение загружает тайлы нужных zoom levels (10–16). Обновление карт происходит при наличии сети. Подробнее о Mapbox OfflineManager можно прочитать в официальной документации.
Аудиогид без интернета
Аудиогиды — MP3 или AAC файлы, скачиваются вместе с маршрутом. Автовоспроизведение при приближении к точке: геофенс радиус 50–100 метров, CLCircularRegion / Android Geofencing API. При входе в зону — AVAudioPlayer / MediaPlayer начинает воспроизведение. Пользователь может не смотреть на экран. Изображения высокого разрешения — тяжёлые. Стратегия: thumbnail (100–200 KB) в списке, полное фото (1–3 MB) загружается по tap и кешируется. Kingfisher (iOS) / Glide (Android) для управления image cache. Офлайн-режим: если фото уже кешировано — показываем, если нет — placeholder.
Почему AR-режим не главная фича?
Дополнительная опция: навести камеру на здание — увидеть название, год постройки, историческую справку. ARKit (iOS, ARWorldTrackingConfiguration) + CoreLocation для определения направления → маппинг объектов в мировых координатах → SCNNode с UIView как overlay. На Android — ARCore с GeospatialAPI (Google Maps AR) — позволяет позиционировать AR-контент по GPS-координатам без маркеров. AR для путеводителя — впечатляющая фича, но требует точного GPS и хорошего освещения. Позиционирование объектов дрейфует при плохом GPS-сигнале. Реализуем как опциональный режим с fallback на карту. Наш опыт показывает, что 70% пользователей предпочитают классический режим с картой.
Как настроить геофенс для автоматического воспроизведения аудиогида?
- Определите координаты точки интереса (широта, долгота).
- Создайте круговую зону радиусом 50–100 метров с помощью
CLCircularRegion(iOS) илиGeofencingRequest(Android). - Зарегистрируйте мониторинг входа в зону. На iOS —
startMonitoring(for:), на Android —GeofencingClient.addGeofences(). - В коллбэке входа запустите воспроизведение аудиофайла через
AVAudioPlayer/MediaPlayer. - При выходе из зоны поставьте воспроизведение на паузу (опционально).
Пример кода для iOS (SwiftUI)
import CoreLocation let region = CLCircularRegion(center: coordinate, radius: 50, identifier: "point1") region.notifyOnEntry = true locationManager.startMonitoring(for: region) func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) { // Запуск аудио try? AVAudioSession.sharedInstance().setCategory(.playback) audioPlayer.play() } Маршруты и навигация
Экскурсионный маршрут — последовательность точек с описанием. Визуализация: Polyline на карте через соединение координат точек. Mapbox LineLayer с кастомным стилем — цвет, толщина, пунктир для рекомендованного пути. Turn-by-turn навигация для пешеходов — либо интеграция с Mapbox Navigation SDK, либо простой режим «стрелка + расстояние до следующей точки». Второй вариант проще, потребляет меньше батареи и лучше подходит для экскурсии (человек идёт, оглядывается, не следует строго маршруту).
Монетизация и контент
Базовый контент бесплатно, премиальные маршруты — in-app purchase. StoreKit 2 (iOS) — Product.purchase() с async/await. Android BillingClient — launchBillingFlow(). Подписка на доступ ко всем маршрутам города или разовая покупка маршрута. Цена варьируется в зависимости от объёма контента, но позволяет окупить затраты на разработку за счёт экономии на печатных путеводителях и повышения лояльности туристов. Контент-менеджмент: маршруты и точки редактируются через CMS (headless, например Strapi), публикуются через API. Приложение проверяет обновления при запуске и в фоне.
Что входит в работу
При заказе разработки вы получаете полноценный продукт и сопутствующую документацию:
| Этап | Длительность | Результат |
|---|---|---|
| Аналитика | 1–2 недели | Техническое задание, прототип |
| Дизайн | 1–2 недели | UX/UI макеты под туристический сценарий |
| Разработка | 6–10 недель | Исходный код, интеграция геофенсов, платежей |
| Тестирование | 1–2 недели | QA-отчёт, отладка на реальных устройствах |
| Деплой | 1 неделя | Публикация в App Store и Google Play |
| Документация | 0.5 недели | Руководство администратора, инструкция по наполнению |
| Гарантия | 3 месяца | Бесплатная поддержка после релиза |
Процесс работы
- Аналитика: аудит требований, прототипирование, выбор SDK
- Дизайн: UX/UI под туристический сценарий (крупный шрифт, контрастные цвета)
- Разработка: iOS (SwiftUI) или Android (Jetpack Compose) / Flutter
- Интеграции: Mapbox, аудиоплеер, геофенсы, платежи
- Тестирование: полевые испытания в условиях низкой связи
- Деплой: публикация в App Store и Google Play, настройка мониторинга
- Документация: инструкция по наполнению контентом, руководство администратора
- Гарантия: 3 месяца бесплатной поддержки после релиза
Сроки и стоимость
Срок: от 8 до 16 недель в зависимости от сложности. Стоимость рассчитывается индивидуально на основе анализа ваших требований. Свяжитесь с нами для первичной консультации по архитектуре — это бесплатно. Закажите пилотный проект за 2 недели: мы подготовим прототип с ключевыми функциями.







