VYakushev
@VYakushev
Разработчик Android в Nowtaxi

Как на Android программно определить фиктивные координаты?

Если включить на устройстве раздел разработчика, то можно установить флажок "Разрешить фиктивные месторасположения". В результате пользователь может обманывать приложения, воспользовавшись приложениями типа FakeGPS. Есть ли какие-то способы отличить реальные координаты от ложных?
  • Вопрос задан
  • 21121 просмотр
Решения вопроса 1
GavriKos
@GavriKos
stackoverflow.com/questions/16772383/how-to-detect... - первая ссылка в гугле. Проверяют включен ли фейковый гпс.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
VYakushev
@VYakushev Автор вопроса
Разработчик Android в Nowtaxi
Затем, что некоторые товарищи, используя корпоративное приложение, мухлюют с координатами, нагревая при этом клиентов.
Ответ написан
Комментировать
Gorily
@Gorily
Хорошая идея от @GavriKos, по поводу проверки соты оператора.
Берёте MCC, MNC, LAC, CID, (+ можно MAC-адреса ближайших WiFi, для точности) делаете запрос к Яндекс.Локатору (api.yandex.ru/locator/doc/dg/api/geolocation-api_j...) на местоположение. Дальше сверяете координаты GPS и от Яндекса, получаете разницу. Если разница больше контрольного значения - отбрасываете запрос. Несколько километров вполне хватит. Конечно, там не все вышки есть, но большая часть будет, особенно по крупным городам.
Если важен и зарубеж, можно также подключить OpenCellID (opencellid.org), у них базы можно скачать.
Также не помешает проверка, которую используют те же Яндекс и Google при сборе информации для своих локаторов - резкие скачки по карте. Если клиент перемещается за 10 секунд на 15 километров - это плохой клиент.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы