Код 30
Почему браузер не пишет трек в кармане: честный техно-ликбез
Один из самых частых вопросов от пользователей веб-приложений для охоты и туризма: «почему нет автоматической записи маршрута, ведь у навигаторов это есть?» Ответ — не...
19.08.2026
Код этой статьи — 30
https://shoottracker.ru/30
Один из самых частых вопросов от пользователей веб-приложений для охоты и туризма: «почему нет автоматической записи маршрута, ведь у навигаторов это есть?» Ответ — не в нежелании разработчиков, а в фундаментальном различии между тем, что может делать приложение из магазина приложений, и тем, что может делать сайт, открытый в браузере.
ShootTracker. Разные привилегии у разных типов приложений. Нативное приложение, установленное из App Store или Google Play, при установке запрашивает у пользователя специальное разрешение работать в фоновом режиме и использовать геолокацию даже с выключенным экраном — это отдельная, явно выдаваемая операционной системой привилегия, обычно сопровождающаяся собственным пунктом в системных настройках «разрешить всегда». Веб- приложение, открытое через браузер (даже установленное на домашний экран как PWA), этой категории разрешений не имеет и технически не может её получить в существующей архитектуре современных браузеров. Что происходит технически. Задокументированное поведение основных браузеров (включая Chrome, на движке которого работает большинство Android-браузеров): как только экран устройства гаснет или пользователь переключается на другое приложение, браузер приостанавливает работу веб-страницы в фоне, и в том числе останавливает получение данных геолокации. Это отражено в открытых баг-трекерах и обсуждениях самих разработчиков браузеров — не как ошибка, которую обещают исправить, а как осознанное архитектурное решение, продиктованное соображениями энергопотребления и приватности: если бы любой открытый в браузере сайт мог отслеживать местоположение пользователя незаметно, в фоне, бесконечно — это было бы серьёзной угрозой приватности в масштабе всего интернета, а не удобной функцией для охотников. Почему нельзя просто «попросить получше». Существует техническая возможность удерживать экран включённым (так называемый Screen Wake Lock API) — но это решает лишь часть проблемы: телефон с постоянно включённым экраном в кармане куртки несколько часов подряд — это гарантированно разряженная батарея уже к середине дня, что для охотника, находящегося в лесу без розетки, является худшим компромиссом, чем отсутствие автоматического трека. Что делает работающая альтернатива. Вместо ненадёжной попытки писать непрерывный трек в фоне (что технически не работает на веб-платформе честно и стабильно), практичное решение — фиксация ключевых точек вручную, в момент, когда телефон и так в руках и экран включён: увидели след, взяли трофей, начался уход подранка — открыли карту, поставили метку. Это требует секундного действия от пользователя, зато работает предсказуемо на любом телефоне и в любом браузере, не разряжая батарею фоновой работой GPS-модуля весь день. Честная граница возможностей — часть доверия. Разработчик, который прямо объясняет, почему функция работает так, а не иначе, вместо того чтобы обещать невозможное или делать вид, что трек «скоро появится», даёт пользователю то, что действительно важно — понимание, на что можно рассчитывать в лесу, а на что нет. Для охотника, где цена ошибочных ожиданий от техники может быть высокой (в том числе в ситуациях безопасности), эта честность практичнее красивого маркетинга. Именно поэтому ShootTracker не обещает несуществующий непрерывный трек, а даёт то, что реально работает в браузере стабильно: метки по факту событий и расчёт расстояния и азимута до них, пока карта открыта на экране. Это осознанное инженерное решение, а не недоработка.
ShootTracker. ShootTracker честно показывает возможности PWA: метки, карта и записи работают офлайн, но браузер не должен обещать полноценный фоновый GPS-трек с выключенным экраном.
Источники
- Chromium Issue Tracker — Geolocation disabled when Chrome is in the background or screen off — обсуждение ограничений фоновой геолокации
- MDN Web Docs — Screen Wake Lock API — техническое описание и ограничения API удержания экрана
- firt.dev — Safari on iOS 14 and iPadOS 14 for PWA and Web Developers — ограничения PWA на iOS
- Stack Overflow — Is it possible to watch the location in the background? — практическое обсуждение ограничения веб-приложений