Што такое фіктыўнае месцазнаходжанне на Android

«Фіктыўнае месцазнаходжанне», «mock location», «выбраць праграму для фіктыўных месцазнаходжанняў» — усё гэта пра адну наладу Android, на якую натыкаюцца ў рэжыме распрацоўшчыка, не разумеючы, што яна робіць. Кароткі адказ: яна прызначае праграму, якой сістэма дазваляе падстаўляць каардынаты замест сапраўдных. Ніжэй — што гэта азначае на практыцы, адкуль узялася функцыя і якія чаканні ад яе не спраўджваюцца.

Вызначэнне адным абзацам

Фіктыўнае месцазнаходжанне — гэта каардынаты, якія тэлефон атрымлівае не ад спадарожнікаў і вышак, а ад праграмы, якую вы прызначылі ў параметрах распрацоўшчыка. Android называе такую праграму тэставай крыніцай месцазнаходжання, і пакуль яна працуе, сістэма аддае яе кропку ўсім, хто пытаецца «дзе карыстальнік». Англійскае слова «mock» азначае падробку або імітацыю — як mock-аб'екты ў праграмаванні.

Пункт «Праграма для фіктыўных месцазнаходжанняў» у параметрах распрацоўшчыка Android — там жа, дзе адладка па USB

Адкуль узялася функцыя

Яе дадалі не дзеля таго, каб падманваць сэрвісы. Распрацоўшчыку праграмы трэба праверыць, што адбудзецца з картай у іншым горадзе, як паводзіць сябе дастаўка на мяжы зоны і што пакажа надвор'е ў іншым часавым поясе, — выязджаць дзеля гэтага на месца немагчыма. Таму ў Android ёсць убудаваны спосаб падставіць каардынаты, і ляжыць ён у «Параметрах распрацоўшчыка» побач з адладкай па USB.

Практычнае следства: функцыя ёсць у любым Android пачынаючы з 6-й версіі, не патрабуе root і не лічыцца ўзломам сістэмы. Дастаткова ўключыць рэжым распрацоўшчыка і выбраць праграму; парадак — у асобнай інструкцыі.

Хто атрымлівае падменныя каардынаты

Усе праграмы адразу. Android не адрознівае іх паміж сабой: адну і тую ж кропку ён аддае карце, надвор'ю, пошуку побач і любой іншай праграме, якая запытала месцазнаходжанне звычайным шляхам. Выбраць, каго падманваць, а каму аддаваць сапраўдныя каардынаты, нельга — у сістэмы проста няма такой магчымасці.

Адсюль жа адказ на частае пытанне «а калі ў мяне некалькі праграм падмены»: актыўнай можа быць толькі адна, сістэма дапускае адзіную тэставую крыніцу месцазнаходжання.

Схема: праграма падмены перадае каардынаты сістэме Android, а яна раздае іх усім астатнім праграмам

Чаго фіктыўнае месцазнаходжанне не робіць

Не хавае факт падмены. Android дадае да кожнай каардынаты ад тэставага правайдара сцяжок «з фіктыўнай крыніцы», і любая праграма можа яго прачытаць. Банкаўскія праграмы, пацвярджэнне дастаўкі, карпаратыўны ўлік часу і гульні з антычытам так і робяць — для іх падмена бачная (падрабязны разбор), і схаваць яе ад іх нельга.

Не мяняе IP-адрас. Сэрвіс, які вызначае рэгіён па сетцы, падменных каардынат не заўважыць; там патрэбны VPN — розніца разабрана ў артыкуле падмена геалакацыі або VPN.

Не мяняе краіну акаўнта, нумар тэлефона, мову сістэмы і часавы пояс. Гэта асобныя налады, і па іх сэрвісы часта вызначаюць месцазнаходжанне дакладней, чым па каардынатах.

Як гэта выглядае на розных абалонках

Пункт называецца па-рознаму, але заўсёды ляжыць у раздзеле распрацоўшчыка: у беларускай лакалізацыі — «Выбраць праграму для фіктыўных месцазнаходжанняў», у рускай — «Приложение для фиктивных местоположений», у англійскай — «Select mock location app». У старых версіях Android (да 6.0) замест выбару праграмы быў просты пераключальнік «Дазволіць фіктыўныя месцазнаходжанні» — калі вам трапіліся такія інструкцыі, яны састарэлі.

Сам раздзел «Параметры распрацоўшчыка» па змаўчанні схаваны і з'яўляецца пасля сямі націсканняў на нумар зборкі. Дзе ён на канкрэтнай абалонцы, разабрана асобна: Xiaomi, Samsung, Huawei, HONOR, realme, OPPO і vivo, Tecno і Infinix.

Навошта гэта звычайнаму карыстальніку

Тры сцэнарыі, у якіх падмена працуе сумленна і нікога не ўводзіць у зман.

Пабачыць, як выглядае сэрвіс у іншым горадзе: карты, расклады, мясцовая выдача, надвор'е. Не аддаваць дакладны адрас праграме, якая патрабуе геалакацыю без рэальнай патрэбы, — падмена дае трэці варыянт паміж «аддаць каардынаты кватэры» і «не карыстацца праграмай». І тэсціраванне: паўтаральныя прагоны геазалежных сцэнарыяў без выезду на месца (разбор для QA).

Сцэнарыі, у якіх падмена парушае дамоўленасці з сэрвісам, — адзнака на працы, пацвярджэнне дастаўкі, абыход рэгіянальных абмежаванняў у гульнях — мы не апісваем: яны не працуюць з-за сцяжка фіктыўнай крыніцы і вядуць да блакіроўкі акаўнта.

Як уключыць і выключыць

Уключэнне займае пару хвілін: рэжым распрацоўшчыка, выбар праграмы, дазвол на геалакацыю, кропка на карце — па кроках. Што падмена сапраўды працуе, лепш за ўсё пераканацца ў іншай праграме: пяць праверак.

Выключаецца гэтак жа: спыніце падмену ў праграме, а калі трэба зусім прыбраць магчымасць — вярніце «Выбраць праграму для фіктыўных месцазнаходжанняў» на «Няма». Падрабязней — у адказе як адключыць фіктыўнае месцазнаходжанне.

Mock Location — фіктыўная геалакацыя на Android без root

Бясплатна, па-за Google Play. Перад усталёўкай можна праверыць кантрольную суму файла.

Спампаваць APK