Интерфейс приложения Mock Location
Работающая копия приложения прямо в браузере: нажимайте кнопки, тащите карту, открывайте списки. Номера на полях объясняют, за что отвечает каждый элемент, а разбор текстом — ниже.
Войдите, чтобы синхронизировать избранное и историю
Все состояния приложения на одной странице
У MockLocation один экран и три шторки поверх него. Всё остальное — это состояния: подмена включена или нет, реальная точка достоверна или нет, вкладка «Избранные» или «Все». Нажмите на карточку, чтобы интерфейс встал в это состояние.
Экран карты: всё управление поверх карты
Отдельного «главного экрана» в приложении нет — карта занимает его целиком, а кнопки лежат поверх неё полупрозрачными кругами. Такое расположение выбрано не ради вида: подмена почти всегда включается на ходу, одной рукой, и всё, что нужно нажать, собрано у нижней кромки экрана, куда достаёт большой палец.
Слева внизу — кнопка подмены, она же единственный выключатель фиктивной геолокации. Пока она зелёная, система отдаёт всем приложениям выбранную вами точку вместо настоящей. Справа — столбик из масштаба и кнопки возврата к себе. Сверху — подсказка: это единственное место, где приложение говорит с пользователем словами, и в нём же показываются требования к настройкам, адрес выбранной точки и предупреждения о качестве сигнала.
- Кнопка подмены
- Короткое нажатие включает и выключает фиктивную геолокацию. Отдельной кнопки «запустить» на карте нет: точка ставится прямо касанием по карте, а эта кнопка отвечает только за то, включена подмена или нет.
- Поиск
- Открывает панель со строкой поиска и сохранёнными местами поверх карты. Карта под ней размывается, но остаётся видна.
- Голосовой ввод
- Диктовка адреса вместо набора: приложение распознаёт речь офлайн и ищет названную точку.
- Масштаб
- Плюс и минус. Удержание повторяет шаг, пока держите палец, — на длинных приближениях это заметно быстрее серии нажатий.
- Текущее местоположение
- При выключенной подмене возвращает камеру к реальной точке и заново её перепроверяет. При включённой — та же кнопка ведёт камеру к подменённой точке: следить за реальным положением в этом режиме нечего.
- Аккаунт
- Панель входа. Аккаунт общий с сайтом, и именно он связывает списки на телефоне с личным кабинетом.
- Подсказка сверху
- Требования к настройкам до первого запуска, адрес и координаты выбранной точки — после. Она же кнопка: нажатие ведёт в нужный раздел системных настроек.
- Точки на карте
- Синий кружок — реальное положение по данным системы. Зелёная булавка — точка, которую видят остальные приложения, когда подмена включена.
Поиск, избранное и история
Панель поиска устроена как один список с двумя вкладками. «Все» — это история: каждая точка, на которую вы когда-либо переносили подмену, попадает туда автоматически. «Избранные» — то, что вы отметили сердечком вручную. Строка поиска ищет одновременно по адресам через геокодер и по уже сохранённым записям, поэтому знакомое место находится по своему названию, а не по адресу.
Важная деталь, которая заметна не сразу: списки не дублируют друг друга, а смотрят на одни и те же записи. Сердечко — это свойство записи истории, поэтому снятое в «Избранных» гаснет и в «Все», без отдельной чистки второго списка. При этом одинаковый адрес, сохранённый в разное время, остаётся двумя разными записями: координата в приложении не считается признаком «то же самое место», иначе соседние касания по карте с почти совпадающими координатами молча затирали бы друг друга.
Названия и иконки правятся на месте. Удержание строки превращает её в поле ввода — адрес из геокодера редко читается как название места, и переименование здесь нужно чаще, чем кажется. Удержание квадрата с иконкой открывает сетку из 15 эмодзи: самокат, машина, дом, магазин — чтобы курьерские точки отличались от домашних одним взглядом. Кнопка «Очистить» удаляет весь список сразу, но тут же превращается в «Вернуть» — окно отмены живёт, пока открыт экран.
Подробности про лимиты списков на бесплатном тарифе — в разделе «Места, поиск и история».
Аккаунт и синхронизация
Аккаунт в приложении и аккаунт на сайте — один и тот же. Регистрация и восстановление пароля подтверждаются кодом с почты, а после входа избранное и история начинают синхронизироваться в обе стороны: изменение на телефоне видно в личном кабинете и наоборот.
Бейдж тарифа показывает не то, что записано в профиле, а то, что подтверждено на текущий момент: закончившаяся подписка понижает лимиты даже без интернета. И если списки на телефоне и на сервере успели измениться независимо — например, телефон долго был офлайн, — приложение не сливает их молча, а останавливается и спрашивает направление синхронизации. Молчаливое слияние здесь означало бы потерю данных, о которой пользователь узнал бы последним.
Что именно даёт подписка, описано на странице тарифов, а вопросы про устройства и синхронизацию собраны в разделе «Аккаунт и синхронизация».
Скрытые режимы: что живёт на удержании
Часть возможностей вынесена на долгое нажатие, чтобы не занимать место на экране. Все они собраны здесь списком — в самом приложении о них узнают либо случайно, либо из этой страницы.
- Удержать кнопку подмены
- Режим блокировки: касания по карте и кнопкам перестают срабатывать, живой остаётся одна красная кнопка. Смысл — «телефон лежит в кармане, а точка едет со мной». Выход — тем же удержанием; короткое нажатие в этом режиме намеренно не делает ничего.
- Удержать кнопку местоположения
- Карта разворачивается по направлению движения. При включённой подмене жест не работает: камера в этом режиме принадлежит выбранной точке.
- Удержать плюс или минус
- Масштаб меняется шагами, пока палец на кнопке.
- Удержать строку списка
- Переименование записи прямо в строке, без отдельного диалога.
- Удержать иконку записи
- Сетка из 15 иконок для этой записи.
- Удержать подсказку с требованиями
- Скрывает пункт, который не удаётся закрыть настройками, — например, когда прошивка не показывает нужный переключатель.
Что дальше
Разбор показывает, как приложение выглядит и что в нём где. Чтобы подмена заработала на самом телефоне, нужно один раз включить режим разработчика и выбрать приложение фиктивных местоположений — пошаговая инструкция занимает семь шагов и не требует root-прав.
Если прошивка выгружает приложение из памяти и подмена слетает сама, смотрите разборы под конкретные оболочки: Xiaomi (MIUI и HyperOS), Samsung Galaxy и Huawei без сервисов Google.