Ios геолокация: что тут сложного? / Хабр

Содержание

что тут сложного? / Хабр

Привет, меня зовут Макс, я разрабатываю iOS-приложение Додо Пиццы. Наша фича-команда работает над улучшением опыта заказа через приложение в зале и тестирует гипотезы, связанные с геолокацией. Мы столкнулись с проблемой, что система не позволяет корректно отследить, какое разрешение даёт клиент при запросе геопозиции. Например, если он выбирает «Однократно», нет возможности отличить этот вариант от «При использовании».

Помимо этого, некоторые наши гипотезы тесно связаны с работой геолокации в бэкграунд-режиме. В нём резко повышается сложность работы: появляются новые системные алерты; состояния, при которых эти алерты показываются; варианты авторизации, которые может выбрать клиент.

Непонимание всех тонкостей авторизации и работы геолокации в бэкграунде привели нас к необходимости детально погрузиться в тему. Результатами исследований делюсь в сегодняшней статье.

Что умеет геолокация на iOS в бэкграунд-режиме

Работа с геолокацией в состоянии, когда приложение открыто, обычно не вызывает трудностей. Сейчас мы используем эту возможность для показа ближайшей пиццерии. Гораздо больший интерес и сложность представляет работа с геолокацией в бэкграунд-режиме. Эти возможности можно поделить на две группы:

1. Непрерывное отслеживание геопозиции после сворачивания приложения. Например, клиент делает заказ на пути в ресторан, сворачивает приложение. Мы понимаем, что клиент придет через 15 минут, поэтому начинаем готовить ему пиццу. Пока приложение открыто, подписываемся на изменения геопозиции. Затем продолжаем отслеживание в бэкграунд-режиме, т.е. после того, как пользователь свернул приложение. Можем установить частоту в метрах и желаемую точность.

var locationManager = CLLocationManager()
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.distanceFilter = 7

Далее устанавливаем Capabilities — Background Mode:

В коде необходимо выставить

locationManager.allowsBackgroundLocationUpdates = true

Обязательно нужно отключить автоматическую паузу, иначе система может остановить трекинг в бэкграунде и запустить его больше не удастся:

locationManager. pausesLocationUpdatesAutomatically = false

Запускаем отслеживание геопозиции:

locationManager.startUpdatingLocation()

После сворачивания приложения система покажет индикацию в виде синей стрелки в статус-баре (для устройств без чёлки статус-бар станет синим).

Приложение будет отслеживать геопозицию в запущенном состоянии до тех пор, пока мы не остановим отслеживание, либо пока пользователь не закроет приложение принудительно.

Индикатор работы GPS.

Для данного способа достаточно авторизации When In Use. При авторизации с типом Always система не будет показывать синюю индикацию. Подробнее про авторизацию поговорим далее.

2. Получение геопозиции при возникновении событий смены локации. Например, когда клиент проходит недалеко от пиццерии, он получает пуш-уведомление об актуальных акциях именно в ней.

Этот способ умеет запускать приложение, даже если оно было выгружено из памяти. После запуска мы можем получить текущую геолокацию. Для этого мы должны подписаться на некоторые события, находясь в запущенном состоянии.

К таким событиям относятся:

  • Significant location changes — значительные изменение геопозиции c точностью от 500 метров;

  • Visits — посещение популярного места: дом, работа, спортзал и т.д.;

  • Regions — посещение определённой геозоны, которую задает разработчик.

Для данного способа требуется авторизация типа Always.

Разбираемся в статусах и состояниях авторизации

В CoreLocation есть 2 запроса для разрешения на использование геолокации:

  • requestWhenInUseAuthorization()

  • requestAlwaysAuthorization() 

И 5 возможных статусов авторизации:

public enum CLAuthorizationStatus : Int32 {
    case notDetermined = 0
    case restricted = 1
    case denied = 2
    case authorizedAlways = 3
    case authorizedWhenInUse = 4
}

В действительности состояний авторизации больше, чем статусов, а переходы между ними кажутся запутанными. Распутываем авторизацию в следующей схеме:

Значение переменной authorizationStatus:

На схеме есть два состояния, которые никак не отражены в статусе authorizationStatus: When In Use Once и Provisional Always. Рассмотрим их поближе.

When In Use Once

Это состояние во многом похоже на When In Use, оно имеет такой же статус authorizedWhenInUse. Но у When In Use Once есть два больших отличия:

  • после перезапуска или по истечению таймаута статус авторизации будет переключён в notDetermined

  • из этого состояния нельзя запросить разрешение типа Always, при вызове requestAlwaysAuthorization() ничего не произойдёт.

Provisional Always

Из схемы видно, что самое труднодоступное состояние — Always. Пользователь должен дважды увидеть алерт и оба раза дать согласие. Provisional always хоть и имеет статус authorizedAlways, но по своим возможностям эквивалентен When In Use. Для перехода в состояние Provisional Always нужно вызвать requestAlwaysAuthorization() и выбрать «При использовании». Система покажет такой же алерт, как и при вызове requestWhenInUseAuthorization():

Самый первый алерт на запрос использования геолокации всегда будет выглядеть так, неважно, какой из этих двух методов мы вызвали.

В будущем пользователь увидит алерт, в котором система предложит либо переключиться на Always, либо оставить на When In Use. В документации говорится, что это произойдёт в момент, когда система попытается запустить приложение при наступлении одного из событий (например, пользователь зашёл в регион). Как правило, это происходит, когда пользователь находится на главном экране iPhone.

The second prompt displays when Core Location prepares to deliver an event to your app requiring CLAuthorizationStatus. authorizedAlways.

Система предлагает изменить разрешение, когда пользователь не пользуется приложением.

Такое поведение больше похоже на неожиданное спам-сообщение. Пользователь уже давно ушёл из контекста нашего приложения. Велика вероятность, что он переключится на When In Use.

Более надёжный способ перейти в состояние Always: сначала получить от пользователя разрешение When In Use и только потом запрашивать Always. Можно попытаться сделать это сразу, последовательно вызывая  requestWhenInUseAuthorization и requestAlwaysAuthorization().

Ещё один вариант гарантированно получить Always: сразу отправлять пользователя в настройки. Так, например, делает Telegram.

Telegram не вызывает requestAlwaysAuthorization(), а сразу отправляет пользователя в настройки.

При активном использовании способа Always iOS покажет пользователю алерт, в котором предложит переключиться обратно на When In Use, либо остаться в Always.

Система также показывает сводку об активности приложения.

Как можно заметить, схема авторизации в iOS сильно затрудняет сбор данных о том, насколько пользователь доверяет приложению и какой способ авторизации выбирает — та самая проблема, о которой шла речь в начале статьи.

Смена статуса авторизации: новые возможности в iOS 15

В iOS 15 появился фреймворк CoreLocationUI. В Apple стремятся упростить опыт пользователя в сценариях, когда необходимо разово получить геопозицию. Теперь можно использовать специальную кнопку CLLocationButton (LocationButton в SwiftUI), при нажатии на которую система сама спросит у пользователя разрешение, если это требуется.

Различные варианты CLLocationButton.Новый алерт с запросом на разовое получение геопозиции. Текст всегда системный.

Если текущий статус авторизации позволяет хоть какое-то использование геолокации (authorizedAlways, authorizedWhenInUse), то при нажатии на кнопку ничего не произойдёт. В противном случае логика смены статусов авторизации выглядит так, как показано на схеме:

Если пользователь однажды согласился дать разрешение на разовое использование геопозиции, то в другие сессии при нажатии на кнопку приложение будет сразу получать разрешение When In Use Once, без алертов.

Самая интересная фишка здесь — это возможность скинуть состояние авторизации в неопределённое (notDetermined), даже если ранее пользователь запретил использование геолокации.

Простой тест это подтверждает. Выполняем requestWhenInUseAuthorization(), запрещаем использование геолокации. Далее нажимаем на CLLocationButton, разрешаем разовое использование (нажимаем ОК). Перезапускаем приложение, чтобы статус авторизации cбросился в notDetermined. Снова выполняем requestWhenInUseAuthorization(), появляется алерт.

В предыдущих версиях повторный показ алерта был возможен только в случае, если пользователь сам перейдёт в настройки приложения и вручную сбросит запрет на использование геолокации. Таким образом, новый фреймворк даёт разработчикам возможность восстановить (возможно, навсегда потерянный) доступ приложения к геолокации. Задача разработчика — предоставить пользователю новую ценность при запросе авторизации, чтобы избежать повторного запрета.

Новые возможности в iOS 15 потенциально сокращают количество надоедливых алертов, а разработчикам не нужно писать обработку различных сценариев авторизации. Подробнее здесь: Meet the Location Button WWDC 2021.

Непрерывное отслеживание геопозиции при наступлении события

Допустим, мы хотим узнать скользящее значение скорости пользователя в момент, когда он зашёл в определённый регион. При этом приложение может быть выгружено из памяти.

Про скользящее

Значение скорости из CLLocation (location.speed) зачастую неточное. В качестве средней скорости можно использовать скользящее значение, например скорость за последние 50 метров.

Авторизуем геолокацию с типом Always. Далее подписываемся на событие входа в регион:

locationManager. startMonitoring(for: pizzeriaRegion)

И при получении события начинаем трекать геолокацию, как в способе 1:

 func locationManager(
    _ manager: CLLocationManager,
    didEnterRegion region: CLRegion
  ) {
    manager.startUpdatingLocation()
  }

Я провёл несколько тестов на устройстве. В момент посещения региона приложение запускается, но система довольно быстро переводит его в состояние suspended, несмотря на то, что мы сконфигурировали и запустили CLLocationManager для подробного отслеживания геопозиции. Продолжать отслеживать геопоцизию непрерывно и рассчитывать скорость не удастся.

Коротко про особенности работы в бэкграунд-режиме

Непрерывное отслеживание геолокации:

  • может быть запущено только в состоянии foreground и продолжать работу после сворачивания приложения;

  • пользователь всегда понимает, что геопозиция отслеживается — синяя индикация в статус-баре;

  • достаточно авторизации When In Use, но при Always исчезает синяя индикация.

Примеры приложений: приложения такси, навигаторы, фитнес-трекеры.

Разовое получение геолокации при наступлении события:

  • ограниченный набор событий, при наступлении которых можно получить геолокацию;

  • система разбудит приложение при наступлении события, даже если оно выгружено из памяти;

  • требует Always авторизации. Сложно получить и сохранить разрешение от пользователя;

  • событие не придёт, если пользователь принудительно закрыл приложение.

Примеры приложений: Telegram (функционал «поделиться геопозицией»).

Полезные ссылки

  • What’s New in Core Location 

  • Meet the Location Button WWDC 2021

  • Choosing the Location Services Authorization to Request 

  • requestAlwaysAuthorization()

  • Thread: Starting location updates in background

  • Impact of iOS13 and iOS14 permissions on background location access

Как включить геолокацию на айфоне? Большой мануал

Сегодня мы рассмотрим, как включить геолокацию на айфоне 5s (для примера) и связанные с ней службы, которые обеспечивают бесперебойную работу устройства, а также программ сбора и обработки конфиденциальной информации.

Чтобы ответить на вопрос «Где в айфоне включить геолокацию», постараемся разобраться, в чем заключается смысл этой функции и кому она будет полезной.

Многие из нас не знают, как включить службу поиска местоположений на айфоне, а также не догадывается, как ее отключить. В этом нет ничего сложного. Ознакомьтесь внимательно с оглавлением в инструкции и выберите наиболее подходящее для Вас решение проблемы.

СОДЕРЖАНИЕ

  • Местоположение или геолокация. Чем полезна эта функция;

  • Включение служб геолокации на iPhone;

  • Настройка геопозиционных данных на айфоне;

  • Как найти айфон по геолокации или определить его местоположение;

Геолокации в айфоне являются неотъемлемой частью Вашего устройства. Они позволяют отслеживать местоположение на протяжении всего дня. Все зависит от настроек, которые имеют довольно гибкий функциональный интерфейс. Одним из самых ярких примеров является поиск наиболее удобного для Вас ресторана или кафе, ближайшего такси, машины каршеринга, а также свободного номера в отеле.

Большинство сервисов, которые определяют местоположение Вас и Вашего айфона в частности, легко настраиваются через стандартные настройки. Apple для настройки геолокаций на iPhone выделяет целый пункт меню, в котором Вы можете включить или отключать элементы использующие данные местоположения, в том числе и системные службы.

Вы должны прекрасно понимать. Чем больше приложений используют данные о Вашем местоположении, тем быстрее аккумулятор iPhone разряжается и со временем приходит в негодность. Именно поэтому так важна гибкая настройка геолокаций в iPhone, подробнее о которой мы расскажем Вам далее.

Как включить службу геолокации на айфоне?

Чтобы ответить на этот вопрос, нам следует найти расположение геолокаций в настройках iPhone. Перейдите в раздел «Настройки» — «Конфиденциальность» «Службы геолокации».

Вы можете настроить каждое приложение по своему усмотрению. Советуем детально разобраться с сервисами и приложениями или играми, которые Вы используете чаще всего. Гибкая настройка позволяет значительно сэкономить заряд батареи вашего iPhone.

Для включения службы определения приблизительной геопозиции айфона, проверьте сдвинутый вправо ползунок. В случае исправно работающего отслеживания, ползунок будет зеленого цвета, как это показано на скриншоте.

Для справки! Включить геолокацию на айфоне 6 или более новой модели iPhone 7 Вам не составит труда. Наша инструкция универсальная и создана на обновленной версии программного обеспечения – iOS 11.

Как настроить геолокацию на айфоне?

Потребности приложений, которые пользователи устанавливают на свои устройства отличаются от других. Именно поэтому мы не можем точно сказать, что Вы должны включить или выключить в настройках геопозииционных данных. Но, мы постараемся предоставить подробную информацию о системных данных местоположений, чтобы Вы смогли принять наиболее обоснованное решение при включении или выключении различных функций.

Для настройки геолокации на айфоне перейдите в пункт меню «Службы геолокации», который Вы уже знаете из предыдущего шага инструкции. Пролистайте список предложенных вариантов в самый низ. Перейдите в «Системные службы». Также это позволит Вам ответить на один из популярных вопросов: «Геолокация в айфоне, где найти?».

Советуем Вам оставить включенными такие службы, как: «Калибровка компаса» и «Учет движения», «Найти iPhone», «Часовой пояс» и «Поиск сотовой сети».

Для определения местоположения человека или айфона, Вам следует тщательно подготовить настройки геолокаций. Это необходимо чтобы никто другой кроме Вас не смог изменить настройки GPS или вовсе отключить службы отслеживания «Найти iPhone».

Следует ввести ограничения на использование настроек в меню Вашего iPhone. Перейдите в «Настройки» — «Основные» — «Ограничения». Введите заранее установленный код-пароль. Пролистайте настройки ограничений до раздела «Конфиденциальность» — «Службы геолокации».

Проверьте, чтобы службы геолокации были включены, и галочка ограничений находилась на «Запретить изменения». Также, перед введением ограничений на запрет изменений, советуем Вам проверить настройки функции «Найти iPhone». Настройки должны соответствовать тем, которые представлены на скриншоте. Введение подобных изменений в настройки геолокации, поможет ответить на основной вопрос «Как определить местоположение айфона».

Если Вы все сделали правильно, теперь кроме Вас и человека, который знает код доступа никто не сможет отключить службы геолокации в айфоне. Они будут попросту «Неактивные».

Как найти человека по геолокации айфона с компьютера?

Сделать это очень просто. Перейдите на официальный сайт Apple.

Если Вы делаете это в первый раз, Вам предстоит пройти двухфакторную авторизацию на компьютере и разрешить учетной записи icloud доверять браузеру. Итак, заходим на сайт. Вводим логин, т.е. почтовый адрес и пароль. На компьютере появится информация о двухфакторной аутентификации, как это показано на скриншоте ниже.

В это время на айфоне всплывающее окно с картой города запрашивает у вас разрешение на доступ к учетной записи. Нажмите «Разрешить» и введите шестизначный код для авторизации (на ПК), который появится на дисплее iPhone.

После прохождения двухфакторной аутентификации, на компьютере появится следующий вопрос: «Доверять этому браузеру?». Если Вы собираетесь определить местоположение айфона с домашнего компьютера, смело нажимайте «Доверять»

Затем Вы попадете в основное меню icloud. Оно выглядит так:

Чтобы определить местоположение iPhone с компьютера, нажмите «Найти iPhone». Если Вы внимательно прочитали предыдущий пункт настроек, у Вас появится карта текущего местонахождения Вас или Вашего устройства.

Не забывайте, в момент поиска iPhone, на устройстве будет отображаться запущенная служба геолокации, если Вы не отключили ее в настройках. Таким образом Вы сможете незаметно определять местоположение человека по айфону или наоборот.

Найти айфон через компьютер, если он выключен. Возможно ли это?

Такое возможно, но система поиска выдаст Вам ранее замеченный адрес, который был прикреплен к Вашему аккаунту. В конечном итоге получается, функция «Найти iPhone» отобразит на карте последний зарегистрированный адрес местоположения Вашего устройства. В случае, если сервер iCloud не свяжется с iPhone, точка на карте или геопозиционная отметка будет серого цвета.

Если у Вас остались вопросы, мы с удовольствием ответим на них в комментариях. Наша инструкция по настройке и определению местоположения устройства, подойдет под любой iPhone на iOS >11.

 

Разработка приложений на основе определения местоположения: руководство для руководителей, 2022 г. Ниша растет с невероятной скоростью 15,6% в год. Итак, что же такое Location Intelligence? И какое это имеет отношение к разработке приложений на основе местоположения?

Я Еременко Дмитрий, старший инженер MindK. В течение прошлого года я помогал создавать приложение для инвесторов в недвижимость, основным преимуществом которого являются данные о местоположении. Вот как вы можете извлечь выгоду из анализа местоположения, используя облачный подход. И да, язык буду максимально доступным 😉

Содержание:

  • Что такое Location Intelligence (LI)?
  • Варианты использования Location Intelligence
  • Примеры Location Intelligence в различных отраслях
  • Типы геопространственных данных для поддержки новых бизнес-возможностей
  • Как объединить все это: облачный подход

Что такое Location Intelligence ( ЛИ)?

Проще говоря, это использование GPS или картографических данных для получения информации о вашем рынке и клиентах.  

Вот пример. Вы когда-нибудь просили Starbucks прислать вам скидку на ваш любимый напиток с кофеином, когда вы собирались пройти мимо одной из их торговых точек? Для этого компания должна отслеживать местоположение вашего смартфона. Starbucks объединяет это со своей информацией CRM — тип кофе, который вам нравится, время, когда вы регулярно совершаете покупки и так далее.

Тем не менее, технологии определения местоположения имеют гораздо более высокий потенциал, чем просто реклама. Boston Consulting Group (BCG) недавно провела массовый опрос более 500 руководителей в различных нишах.

  • 95% респондентов заявили, что Location Intelligence имеет решающее значение для достижения их бизнес-целей в 2021 году.
  • 91% считают, что через 3-5 лет эта функция станет еще более важной.
  • Лидеры LI сообщают о двукратном повышении уровня удовлетворенности , объема продаж и эффективности бэк-офиса по сравнению с конкурентами.

И технологии определения местоположения предназначены не только для крупнейших предприятий мира. Облачные сервисы, современная аналитика и обмен данными делает его более доступным для малого бизнеса.

Примеры использования Location Intelligence

Большинство компаний борются за повышение качества обслуживания клиентов в условиях растущей конкуренции. Они также стремятся оптимизировать свои бизнес-операции, сокращая расходы и увеличивая размер прибыли. Location Intelligence может помочь вам с обеими целями.

Варианты использования для клиентов

  • Маркетинг на основе местоположения

Геомаркетинг, или гео-продвижение, является одним из основных элементов в разработке приложений геолокации. Вы можете комбинировать положение пользователя на карте с его покупательскими привычками, предпочтениями и интересами. Затем отправьте им целевые предложения в нужное время. 78% руководителей, участвовавших в исследовании BCG, используют этот прием для привлечения клиентов.

  • Повышение качества цифровых продуктов

Некоторые ведущие мировые предприятия используют LI для расширения функций поиска, обнаружения и картирования в приложениях для отслеживания геолокации. Программное обеспечение для недвижимости часто накладывает данные о собственности поверх интерфейса карты. Вы можете увидеть время в пути, оценку недвижимости, уровень преступности и другие важные факторы для выбора дома. Поиск на основе карт теперь необходим для приложений по недвижимости. Фактически, согласно исследованию BCG, 1-секундная задержка скорости загрузки карты может привести к падению конверсии на 15%.

  • Повышение качества обслуживания в физических магазинах

Крупные розничные сети, такие как Walmart и Target, используют интерактивные карты, чтобы помочь покупателям находить товары в магазине. Они также могут отправлять предложения о скидках в зависимости от покупательских привычек человека.

  • Ценообразование в зависимости от местоположения

Всем известно, что изменение цены может повлиять на спрос. Для некоторых продуктов эта зависимость очень сильна. Для других эффект практически незаметен. это называется ценовая эластичность спроса . Одно приложение для доставки еды на вынос может корректировать цены в соответствии с местными различиями в эластичности. По данным BCG, теперь эта функция приносит 25% выручки компании.

Источник: Target

Варианты использования, ориентированные на эксплуатацию

  • Планирование маршрутов доставки

Оптимизация логистики и планирование маршрутов могут дать огромные преимущества для любой компании, занимающейся перевозкой посылок. UPS, например, экономит более 200 миллионов долларов в год с помощью передового программного обеспечения для планирования сети. Согласно исследованию BCG, использование LI для маршрутизации посылок может сэкономить до 6% на время доставки и стоимость.

  • Оптимизация цепочки поставок, планирование и распределение персонала

ЛИ может помочь выбрать места для офисов компании, банкоматов и складских помещений. Просто возьмите демографическую информацию и данные о пешеходном трафике. Затем добавьте местные индикаторы спроса — круглосуточные магазины, банкоматы и заправочные станции поблизости. И вы сможете определить перспективные рынки для расширения.

  • Предотвращение мошенничества

Банк США, например, проверяет местоположение вашего смартфона каждый раз, когда вы платите картой. Это помогает идентифицировать украденные карты и предотвратить отклонение транзакций во время международных поездок. Отличная идея для разработки приложения геолокации.

Примеры анализа местоположения в различных отраслях

Анализ местоположения может принести ощутимую пользу практически в любой отрасли. Чтобы доказать этот факт, вот несколько примеров реальных компаний, которые используют LI в 6 разных нишах.

Retail

Spencer’s Retail — это универсальный магазин с более чем 160 магазинами по всей Индии. Компания начала использовать Location Intelligence с простой карты, которая указывала покупателям ближайшие магазины. Приложение показывает наличие товаров в разных магазинах. Он также дает совет о том, находится ли ваше место получения за пределами зоны обслуживания розничного продавца. Это практически исключило необслуживаемые заказы.

Компания также перешла на цифровую систему планирования маршрутов. В 96% ящиков , Spencer’s теперь может отправить посылку в менее чем за 4 часа , что впечатляет для страны размером с Индию.

Опрос BCG показывает, что LI может помочь розничным торговцам увеличить средний размер корзины на до 15% и снизить стоимость доставки последней мили на до 4% .

Недвижимость

Однократное отображение карты для поиска недвижимости может поднять ваше приложение по недвижимости над конкурентами. Теперь это стало основным ожиданием клиентов по всему миру.

Чтобы преодолеть конкуренцию, один из американских пионеров в сфере недвижимости начал инвестировать в более продвинутые варианты использования Location Intelligence. Он объединил детализированные данные о местоположении с информацией CRM, чтобы найти людей, которые с наибольшей вероятностью совершят конверсию в ближайшем будущем. Он также использовал картографические и топографические данные для улучшения моделирования оценки собственности. Компания объединила эти две функции в новой услуге — покупка недвижимости у людей, нуждающихся в быстрых деньгах.

Карта компании теперь имеет несколько новых слоев данных, которые помогают пользователям находить и сравнивать различные варианты недвижимости:

  • Расчетное время в пути на основе данных о пробках в реальном времени.
  • Удобно дойти пешком до близлежащих заведений.
  • Похожие объекты по соседству.
  • Наличие парковок, школ, детских садов и других достопримечательностей.

Тепловая карта для оценки недвижимости — один из возможных вариантов использования Location Intelligence в сфере недвижимости. Источник изображения: meilleursgents.com 

Пользовательское тестирование показало, что добавление карты в приложения по недвижимости необходимо для удовлетворения ожиданий клиентов (даже если ваша карта очень похожа на карту ваших конкурентов). Более того, введение новых типов картографических данных может оказать ощутимое влияние на ключевые показатели эффективности бизнеса. Например, пользователи, имевшие доступ к улучшенным школьным данным, показали в среднем на 10 % больше конверсий при переходе от просмотра карты к спискам недвижимости.

Финансы 

Текущий  — мобильный банк в Нью-Йорке с финансированием на сумму более  402 млн долларов США. В отличие от других FinTech, он в основном ориентирован на людей с низким доходом, которые пользуются различными кэшбэками. Приложение может сопоставлять поисковые запросы человека на основе местоположения с его покупками в магазине, чтобы: 

  • Предлагать целевые скидки в определенных местах.
  • Добавление мест оплаты к платежным чекам, что сократит количество звонков для подтверждения оплаты.
  • Сведите к минимуму мошенничество с кредитными картами.
  • Помогите родителям контролировать расходы детей.

Источник: TechCrunch

Компания Current также внедрила систему поощрений за покупки в различных местах. Временные рекламные акции, например, привели к 5-кратному увеличению продаж для франшизы быстрого питания и 6% увеличению продаж на одного покупателя для местной аптеки.

Location Intelligence позволяет компании обойти дорогостоящие модели атрибуции, используемые конкурентами, и улучшить таргетинг. В результате Current предлагает более высокие вознаграждения, предлагая гораздо лучший опыт людям, живущим от зарплаты до зарплаты.

Согласно опросу BCG, использование Location Intelligence для индивидуального взаимодействия может увеличить время, проведенное в финансовых приложениях , на 17% . Проверка на основе местоположения также снижает количество мошеннических транзакций примерно на 30%.

Логистика и доставка

Flaschenpost — немецкий стартап, который обещает доставить алкоголь менее чем за 2 часа. Приложение подтверждает местоположение пользователя и предоставляет подробные инструкции по маршруту для водителей. Он может учитывать дорожные опасности, пробки и другие факторы, которые могут повлиять на время доставки. Технический директор Flaschenpost Арон Шпор рассказывает, что даже самые незначительные улучшения в точности данных о местоположении оказывают огромное влияние на итоговую прибыль. Сокращение 2-х минут при каждой поездке туда и обратно экономит flaschenpost более 700 человеко-часов в день.  

Исследование BCG показывает, что LI может снизить затраты на доставку и повысить удовлетворенность клиентов на до 11% для логистических компаний.

Туристическая индустрия

Ведущая гостиничная сеть из Великобритании одной из первых начала использовать LI для улучшения поиска, бронирования и обслуживания гостей (GX). Вскоре его конкуренты начали предлагать аналогичные функции. Поэтому компания начала улучшать свои карты большим количеством фильтруемой информации, такой как:

  • Варианты проезда и время в пути.
  • Парковки поблизости.
  • Местные достопримечательности и кафе.
  • Проезд к администрации отеля и так далее.

Эта информация предназначена для путешественников, которые взвешивают различные факторы при бронировании поездки. Согласно исследованию BCG, карты с богатыми данными обеспечивают 108-процентное увеличение числа просмотров отелей и улучшение количества бронирований на 12 % .

Сельское хозяйство

Аргентинская ассоциация кооперативов (ACA) построила одну из самых амбициозных систем LI. Чтобы помочь фермерам следить за посевами в режиме реального времени, ACA анализирует тысячи снимков с дронов и спутников с помощью ИИ. Это позволяет пользователям обнаруживать, среди прочего, инфекции сельскохозяйственных культур, прежде чем они смогут распространиться на близлежащие районы.

Программное обеспечение использует геопространственные, погодные и бизнес-данные, чтобы помочь фермерам принимать решения в посевной сезон. Результатом является более высокая урожайность, более низкие затраты и воздействие на окружающую среду. ACA доказывает, что данные о местоположении являются важным компонентом цифровой трансформации в сельском хозяйстве.

Источник: acacoop.com.ar

Типы геопространственных данных для расширения возможностей бизнеса

Данные о местоположении

Что это?

Этот тип данных описывает точное положение реального объекта. Обычно содержит следующие атрибуты:

  • Имя объекта.
  • Координаты (широта и долгота).
  • Почтовый индекс.
  • Высота над уровнем моря (метры).
  • Торговая марка и идентификатор.
  • Название и идентификатор категории.

Как вы можете использовать данные о местоположении?

Точные данные о местоположении составляют основу большинства стратегий, описанных в этой статье. Вы можете использовать его, чтобы находить оптимальные местоположения магазинов, отслеживать спрос поблизости, отслеживать конкурентов, оптимизировать местные цены и запускать рекламные кампании, адаптированные к онлайн- и офлайн-поведению. Например, американская служба доставки еды DoorDash использовала эту стратегию, чтобы завоевать 56% доли рынка.

Данные о местоположении также важны для городского планирования и развития сообщества. Например, компания MindK разработала приложение для определения местоположения для различных сообществ в Норвегии. Это позволяет профессиональным ассоциациям и группам, связанным со здоровьем, организовывать местные мероприятия, размещать анонимные чаты и запрашивать помощь у членов поблизости.

Где взять данные о местоположении?

Данные о местоположении в основном поступают со смартфонов и других подключенных устройств, таких как носимые устройства для фитнеса и трекеры в транспортных средствах доставки. Все эти устройства действуют как приемники для спутников GPS, вышек сотовой связи, маяков Bluetooth и маршрутизаторов WiFi.

Существует несколько способов доступа к данным для разработки приложений GPS-слежения без необходимости собирать их самостоятельно:

  • Купить набор данных о местоположении на платформе Amazon Data Exchange (ADX) . Затем вы можете переместить данные в свою частную корзину Amazon S3 — облачное хранилище для файлов (называемых объектами ), доступ к которым можно получить через простой URL-адрес.
  • Интеграция данных с помощью интерфейса прикладного программирования (API). Короче говоря, API — это интерфейс, который помогает интегрировать сторонние функции, обмениваться данными и подключать системы без необходимости их разработки с нуля.

Каковы лучшие поставщики данных о местоположении и API?

Чтобы создать приложение геолокации, вам потребуется использовать один API для определения местоположения пользователя, а другой — для нанесения этих координат на карту.

API для определения местоположения мобильного устройства:

  • Google Maps API — самый популярный картографический сервис в мире. Он доступен для всех платформ и локализован на большинство языков. Вы можете настроить цвета карты в соответствии с изображением вашего бренда, изменить плотность дорог или удалить метки с карты.
  • Основной API-интерфейс Apple для определения местоположения — найдите устройство iOS, определите направление его взгляда, его высоту или близость к iBeacon.
  • API геолокации W3C — API геолокации для прогрессивных и веб-приложений. Он поддерживается большинством браузеров, включая Chrome и Safari, но работает только через HTTPS.

API для отображения местоположения на карте:

  • Google Maps SDK — качественная карта, которая показывает контуры зданий даже в крошечных деревнях, а также режим просмотра улиц для крупных городов по всему миру.
  • Apple MapKit — хотя данные Google в целом более обширны и точны, Apple быстро сокращает разрыв. В 2020 году Apple завершила выпуск совершенно новой карты США, которая может похвастаться гораздо более высоким уровнем детализации окружающей среды, а также трехмерным изображением крупных городов США.
  • Google Maps Directions API и Google Distance Matrix API — предоставляйте маршруты и планируйте маршруты для общественного транспорта, велосипедистов, пешеходов и водителей. Определить предполагаемое время в пути в зависимости от выбранного маршрута, вида транспорта и условий движения.

Альтернативные источники данных о местоположении

Получение данных от Google обходится довольно дорого для часто используемых приложений. При разработке приложений на основе карт часто имеет смысл закупать данные о местоположении оптом на таких платформах, как ADX и Datarade:

  • Lifesight Mobility/ Raw Location Data — мобильный SDK, который собирает анонимные данные о местоположении, которые вы можете ежедневно получать в виде дампа на выбранный URL-адрес. База данных охватывает большую часть мира, за исключением Китая, и содержит исторических данных за 2 года .
  • Глобальные данные о точках интереса — огромная база данных о местоположении, дополненная данными о компаниях и клиентах в более чем 200 миллионах мест по всему миру. Набор данных охватывает 5-летних исторических данных и ежедневно обновляется.
  • SafeGraph Places — данные о местоположении более 11 миллионов мест , за исключением частных домов.

Данные о пешеходном движении

Что это?

Этот тип данных, также называемый посещаемостью, измеряет количество посетителей в кафе, отелях или на улицах в разное время. Эти данные могут показать вам, как долго они остаются на месте и как часто они возвращаются. Вы измеряете его с помощью сигналов WiFi и Bluetooth внутри здания; GPS-спутники на открытом воздухе; и инфракрасные или лазерные датчики в магазине.

Как можно использовать данные о пешеходном трафике?

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

Где можно получить данные о пешеходном трафике?

  • Echo Analytics Анализ пешеходного движения — огромный набор данных отслеживает пешеходное движение более чем в 22 млн точек в США и Европе. Используйте его для выявления потребительских тенденций, отслеживания повторных покупателей, выявления перспективных областей для бизнеса и многого другого.
  • Глобальный альтернативный пешеходный трафик Bluespot AI — набор данных, отражающий изменения рабочего времени в более чем 1 миллионе мест в 240 странах . Эти данные могут служить показателем активности клиентов.
  • PREDIK Обогащенные тепловые карты пешеходного трафика США, основанные на данных — обширный набор данных, отражающий пешеходный и автомобильный трафик в США.

Данные о достопримечательностях (POI)

Что это?

Данные POI описывают любое место в реальном мире, которое может быть интересно людям. Это может быть что угодно, от торгового центра до популярного места для кемпинга в горах. Данные POI обычно содержат следующие атрибуты:

  • Название местоположения.
  • Координаты.
  • Физический адрес.
  • Назначение местоположения.
  • Количество посетителей.
  • Модели их поведения и так далее.

Как вы можете использовать данные POI?

Приложения по запросу , такие как Uber, анализируют данные о точках интереса, чтобы оценить время доставки, найти регионы с недостаточным обслуживанием и оптимальные маршруты. Логистические компании используют его для оптимизации доставки «последней мили» и поиска оптимальных мест получения/доставки. Правительства могут улучшить общественный транспорт, аварийно-спасательные службы, здравоохранение и планирование реагирования на стихийные бедствия.

Каковы лучшие поставщики данных POI и API?

  • Factual Global Places хранит записи по более чем 130 миллионам точек интересных мест i в более чем 50 странах . Набор данных включает более 25 атрибутов , таких как адрес, геокод, адреса электронной почты и другую бизнес-информацию.
  • Foursquare Places предлагает данные POI по более чем 100 млн мест по всему миру. Его набор данных включает более 30 атрибутов, которые вы можете использовать для обогащения своих услуг стратегического планирования и картирования. Компания прилагает огромные усилия, чтобы эти данные были актуальными, точными и непротиворечивыми.
  • Tamoko предоставляет данные POI по более чем 200 млн мест в рамках своего предложения «Местоположение как услуга» (LaaS). Компания использует запатентованный SDK и алгоритмы машинного обучения, чтобы обеспечить точность, прозрачность, полноту данных и соответствие GDPR.

Картографические данные

Что это?

Картографические данные помогают создавать всевозможные интерактивные карты, от прогнозов погоды до обновлений трафика в реальном времени. Обычно он имеет несколько источников и слоев. Уличные фотографии, видео, топографическая съемка, данные GPS и спутниковые снимки — все это может стать вашим основным слоем. Затем вы можете добавить вторичный слой — демографические, потребительские или климатические данные — для получения действенной информации.

Как можно использовать данные карты?

Картографические данные необходимы во многих отраслях. Полицейские участки могут, например, отображать различные районы по уровням и типам преступности при расстановке приоритетов внимания и создании маршрутов патрулирования. Компании по недвижимости , такие как Nomoco, используют картографические данные для выбора оптимальных мест для строительных площадок и выявления выгодных инвестиционных возможностей. А автопроизводителей , например BMW, используют картографические данные для повышения безопасности вождения.

Каковы лучшие поставщики картографических данных и API?

  • MBI Geodata ЗДЕСЬ Рендеринг карты — подробные 2D-карты дорог, сооружений и мест в 230 странах мира с более чем 5 миллионами ежедневных обновлений. Компания предлагает оплачиваемые по мере использования и годовые подписки для различных функций.
  • Matrixian Map — настраиваемые интерактивные карты, объединяющие различные типы данных о местоположении, включая недвижимость, логистику, бизнес, достопримечательности и демографические данные. Набор данных охватывает большинство стран мира и ежедневно обновляется.
  • csv2geo — решение, упрощающее геокодирование, преобразование физических координат в почтовые индексы и обратно. Услуга доступна в виде запросов API и загрузки текста/файла.

Спутниковые данные

Что это?

Этот тип данных поступает из спутниковых изображений с использованием камер высокого разрешения, тепловых датчиков, лазерных и радиолокационных отражений. Как правило, спутниковые данные имеют следующие атрибуты:

  • Геометрическое разрешение — сколько земли хранится в одном пикселе изображения.
  • Радиометрическое разрешение – уровень яркости и контрастности.
  • Временное разрешение – время съемки.
  • Спектральное разрешение – время между длинами волн и их частотой.
  • Пространственное разрешение – наличие на изображении различных объектов.

Как можно использовать спутниковые данные?

Спутниковые данные позволяют ученым получить представление о стихийных бедствиях и экосистемах, помогают правительствам подготовиться к чрезвычайным ситуациям и помогают компаниям в развитии новых возможностей для бизнеса. Его основным преимуществом является огромное количество данных, доступных для анализа и прогнозов.

Каковы лучшие поставщики спутниковых данных и API?

  • Sky Watch EarthCache — облачная платформа для одной из крупнейших в мире сетей поставщиков спутниковых изображений. Его мощный API дает вам все необходимое для разработки бизнес-приложений на основе спутниковых данных.
  • CustomWeather Satellite Imagery & Data — глобальные инфракрасные спутниковые снимки с разрешением 10 км/пиксель с ежечасным обновлением. Сервис доступен в виде REST API с ежемесячной и годовой оплатой.
  • API-интерфейс Aviation Edge Satellite Tracker — отслеживание в реальном времени спутников и других объектов, вращающихся вокруг Земли (включая их название, дату запуска и орбитальную позицию).

Как создать приложение для отслеживания местоположения: облачный подход

Современные потребители ожидают быстрых инноваций и первоклассных услуг. Проблема в том, что традиционные монолитные приложения чрезвычайно громоздки. Даже если вам нужно масштабировать самую маленькую часть вашего решения, вам придется масштабировать весь сервер. То же самое касается развертывания новых функций.

Облачный подход появился как способ экономичного решения этих проблем. Облачные приложения используют возможности облачных платформ следующего поколения, таких как Amazon Web Services, Microsoft Azure и Google Cloud. Большое разнообразие архитектурных подходов имеет хорошую синергию с этими платформами. Архитектура, управляемая доменом, микросервисы, бессерверная архитектура и архитектура, управляемая событиями, — вы называете это.

Эти подходы могут обеспечить многочисленные преимущества, такие как простота масштабирования и простота развертывания.

Возьмем, к примеру, микросервисную архитектуру. Он разбивает большие приложения на небольшие независимые модули. Каждый из этих так называемых микросервисов выполняет одну бизнес-функцию и общается с другими сервисами через API. Это дает вам возможность развертывать новые изменения, не затрагивая другие службы. Вы можете упаковать микросервисы в изолированные контейнеры с помощью таких инструментов, как Kubernetes. Это позволяет масштабировать услуги по запросу и выпускать изменения практически без простоев.

Или вы можете выбрать бессерверный подход, который я сейчас использую в своем проекте по недвижимости. Он делегирует большинство рутинных задач облачному провайдеру. Таким образом, вам не нужно выделять инфраструктуру, управлять доступностью и даже развертывать приложение. Разработчики пишут меньше кода, а значит меньше ошибок. Облако заботится об автомасштабировании и отказоустойчивости.

Более того, такие платформы имеют невероятно гибкую биллинговую систему. Вы выбираете те функции, которые вам нужны, и платите только за фактически используемые вычислительные ресурсы. Одному из наших клиентов такой подход позволил сэкономить 14 тысяч долларов в месяц только на затратах на инфраструктуру.

Заключение

Location Intelligence предоставляет огромные возможности для бизнеса во всех нишах. Последние достижения в области облачных вычислений, аналитики и платформ обмена данными делают разработку приложений геолокации более доступной, чем когда-либо.

В MindK мы рекомендуем использовать облачный подход для большинства наших новых клиентов. Такие приложения по своей природе являются более масштабируемыми, отказоустойчивыми, их легко отслеживать и обновлять, не нарушая работу пользователя.

Итак, если вы заинтересованы в разработке приложений на основе местоположения, не стесняйтесь, напишите нам. Мы знаем, как реализовать это экономически эффективным способом.

Обзор | API геолокации | Google Developers

Прежде чем начать:
Прежде чем вы начнете использовать Geolocation API, вам нужен проект с платежной учетной записью и

API геолокации

включено. Мы рекомендуем создать несколько владельцев проектов и администраторов счетов, чтобы
у вас всегда будет кто-то с этими ролями, доступный для вашей команды. Чтобы узнать больше, см.
Настроить в облачной консоли.

Введение

API геолокации возвращает местоположение и радиус точности
на основе информации о вышках сотовой связи и узлах Wi-Fi, которую мобильный клиент
может обнаружить. Этот документ описывает протокол, используемый для отправки этих данных в
сервер и вернуть ответ клиенту.

Связь осуществляется по протоколу HTTPS с использованием POST. И запрос, и ответ
в формате JSON, а тип содержимого обоих
приложение/json .

Прежде чем начать

Прежде чем приступить к разработке с помощью Geolocation API,
проверить аутентификацию
требования (вам нужен ключ API) и
Использование API и выставление счетов
информация (необходимо включить биллинг на вашем проекте).

Запросы геолокации

Запросы геолокации отправляются с помощью POST на следующий URL-адрес:

https://www. googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY
 

В запросе необходимо указать ключ, включенный в качестве значения
ключ параметр. Ключ — это ключ вашего приложения.
API-ключ. Этот ключ идентифицирует ваше приложение для целей квоты
управление. Узнайте, как получить ключ.

Тело запроса

Тело запроса должно быть в формате JSON. Если тело запроса не включено, результаты
будет возвращен на основе IP-адреса местоположения запроса. Следующие поля
поддерживается, и все поля являются необязательными, если не указано иное:

.

Поле Тип JSON Описание Примечания

номер ( uint32 ) Мобильный код страны (MCC) для домашней сети устройства . Поддерживается для RadioType GSM (по умолчанию),
wcdma , lte и ; не используется для cdma .
Допустимый диапазон: 0–999.
домашняя мобильная сетьКод номер ( uint32 ) Код мобильной сети для домашней сети устройства .
Это MNC для GSM, WCDMA, LTE и NR.
CDMA использует идентификатор системы (SID)
Допустимый диапазон для MNC: 0–999.
Допустимый диапазон для SID: 0–32767.
радиоТип струна Тип мобильной радиостанции. Поддерживаемые значения: гсм , cdma ,
wcdma , lte и .
Хотя это поле является необязательным, оно должно быть всегда включено, если тип радио
известны клиенту.
Если поле не указано, API геолокации по умолчанию будет использовать gsm ,
что приведет к недействительным или нулевым результатам, если предполагаемый тип радио
неправильно.
держатель струна Имя оператора.
рассмотреть логическое значение Указывает, следует ли возвращаться к IP-геолокации, если отсутствуют сигналы Wi-Fi и вышек сотовой связи.
пусто или недостаточно для оценки местоположения устройства.
По умолчанию true . Установите , рассмотрите Ip на false , чтобы отключить
отступать.
CellTowers массив Массив объектов вышек сотовой связи. См. раздел «Объекты вышек сотовой связи» ниже.
Wi-FiAccessPoints массив Массив объектов точки доступа WiFi. См. раздел «Объекты точки доступа Wi-Fi».
ниже.

Пример тела запроса API геолокации показан ниже.

{
  "homeMobileCountryCode": 310,
  «Код домашней мобильной сети»: 410,
  "радиоТип": "GSM",
  "оператор": "Vodafone",
  "рассмотреть": правда,
  "сотовые башни": [
    // См.  раздел «Объекты вышек сотовой связи» ниже.
  ],
  "Точки доступа Wi-Fi": [
    // См. раздел «Объекты точки доступа Wi-Fi» ниже.
  ]
}
 

Объекты вышек сотовой связи

Массив cellTowers тела запроса содержит ноль или более
объекты вышек сотовой связи.

Поле JSON типа Описание Примечания
идентификатор ячейки номер ( uint32 ) Уникальный идентификатор ячейки. Требуется для radioType GSM (по умолчанию), cdma ,
wcdma и lte ; отклонено для .
См. раздел "Вычисление идентификатора ячейки" ниже, в котором также перечислены
допустимые диапазоны значений для каждого типа радио.
newRadioCellId номер ( uint64 ) Уникальный идентификатор соты NR (5G). Требуется для радиостанции Тип ; отклонено для других
типы.
См. раздел Расчет newRadioCellId ниже,
в котором также указан допустимый диапазон значений для поля.
Код зоны номер ( uint32 ) Код зоны расположения (LAC) для сетей GSM и WCDMA.
Идентификатор сети (NID) для сетей CDMA.
Код зоны отслеживания (TAC) для сетей LTE и NR.
Требуется для радиостанции Тип GSM (по умолчанию) и
cdma , необязательный для других значений.
Допустимый диапазон с г/кв.м , cdma , wcdma и
lte : 0–65535.
Допустимый диапазон с : 0–16777215.
мобильныйКод страны номер ( uint32 ) Мобильный код страны (MCC) вышки сотовой связи. Требуется для радиостанции Тип gsm (по умолчанию), wcdma ,
lte и ; не используется для cdma .
Допустимый диапазон: 0–999.
код мобильной сети номер ( uint32 ) Код мобильной сети вышки сотовой связи.
Это MNC для GSM, WCDMA, LTE и NR.
CDMA использует идентификатор системы (SID).
Обязательно.
Допустимый диапазон для MNC: 0–999.
Допустимый диапазон для SID: 0–32767.

Следующие необязательные поля в настоящее время не используются, но могут быть включены, если значения
доступный.

Поле JSON типа Описание Примечания
возраст номер ( uint32 ) Количество миллисекунд, прошедших с тех пор, как эта ячейка стала основной. Если возраст равен 0, cellId или newRadioCellId представляет текущую
измерение.
Сила сигнала номер ( двойной ) Мощность радиосигнала измеряется в дБм.
синхронизация номер ( двойной ) опережение по времени
ценность.
Расчет

cellId

Типы радиостанций до NR (5G) используют 32-битное поле cellId для прохождения сети
идентификатор ячейки в API геолокации.

  • В сетях GSM (2G) используется 16-битный идентификатор соты (CID) как есть. Допустимый диапазон: 0–65535.
  • Сети

  • CDMA (2G) используют 16-битный идентификатор базовой станции (BID) как есть. Допустимый диапазон: 0–65535.
  • В сетях

  • WCDMA (3G) используется идентификатор соты UTRAN/GERAN (UC-ID), который представляет собой 28-битное целое число.
    значение, объединяющее 12-битный идентификатор контроллера радиосети (RNC-ID) и 16-битный
    Идентификатор соты (CID).
    Формула: rnc_id << 16 | код .
    Допустимый диапазон: 0–268435455.
    Примечание: Указание только 16-битного идентификатора соты в сетях WCDMA приведет к
    неверные или нулевые результаты.
  • Сети

  • LTE (4G) используют идентификатор соты E-UTRAN (ECI), который представляет собой 28-битное целое число.
    объединение 20-битного идентификатора узла B E-UTRAN (eNBId) и 8-битного идентификатора соты (CID).
    Формула: enb_id << 8 | код .
    Допустимый диапазон: 0–268435455.
    Примечание. Указание только 8-битного идентификатора соты в сетях LTE приведет к
    неверные или нулевые результаты.

Размещение значений вне этих диапазонов в запросе API может привести к неопределенному поведению. API,
по усмотрению Google может обрезать число, чтобы оно соответствовало задокументированному диапазону, вывести
исправление radioType или вернуть результат NOT_FOUND без каких-либо
индикатор в ответе.

Ниже приведен пример объекта вышки сотовой связи LTE.

{
  "сотовые башни": [
    {
      "cellId": 170402199,
      «код_местоположения»: 35632,
      «мобильный код страны»: 310,
      «Код мобильной сети»: 410,
      "возраст": 0,
      "Сила сигнала": -60,
      "таймингАванс": 15
    }
  ]
}
 
Вычисление

newRadioCellId

Более новые сети, чьи идентификаторы ячеек длиннее 32 бит, используют 64-битный
newRadioCellId Поле для передачи идентификатора ячейки сети в
API геолокации.

  • Сети NR (5G) используют 36-битный идентификатор новой радиосоты (NCI) как есть.
    Допустимый диапазон: 0–68719476735.

Пример объекта вышек сотовой связи NR приведен ниже.

{
  "сотовые башни": [
    {
      "newRadioCellId": 68719476735,
      «мобильный код страны»: 310,
      «Код мобильной сети»: 410,
      "возраст": 0,
      "Сила сигнала": -60,
    }
  ]
}
 

Объекты точки доступа Wi-Fi

Массив wifiAccessPoints тела запроса должен содержать два
или более точек доступа Wi-Fi. macAddress требуется; все
другие поля являются необязательными.

Поле JSON типа Описание Примечания
макадрес струна MAC-адрес узла WiFi. Обычно он называется BSS, BSSID или MAC-адресом. Обязательно. : (двоеточие) разделенная шестнадцатеричная строка.
Сила сигнала номер ( двойной ) Текущий уровень сигнала, измеренный в дБм.
возраст номер ( uint32 ) Количество миллисекунд с момента обнаружения этой точки доступа.
канал номер ( uint32 ) Канал, по которому клиент взаимодействует с точкой доступа.
signalToNoiseRatio номер ( двойной ) Текущее отношение сигнал/шум
измеряется в дБ.

Пример объекта точки доступа Wi-Fi показан ниже.

{
  "macAddress": "9c:1c:12:b0:45:f1",
  "Сила сигнала": -43,
  "signalToNoiseRatio": 0,
  "канал": 11,
  "возраст": 0
}
 

Ответы геолокации

Успешный запрос геолокации вернет ответ в формате JSON
определение местоположения и радиуса.

  • местоположение : Расчетная широта и долгота пользователя, в
    градусов. Содержит один lat и один lng
    подполе.
  • точность : Точность расчетного местоположения, в
    метров. Это представляет собой радиус окружности вокруг данного
    местоположение .
{
  "расположение": {
    "лат": 37.421875199999995,
    "длинный": -122.0851173
  },
  "точность": 120
}
 

Ошибки

В случае ошибки тело ответа об ошибке стандартного формата будет
возвращается, и код состояния HTTP будет установлен в состояние ошибки.

Ответ содержит объект с одной ошибкой Объект с
следующие ключи:

  • код : это то же самое, что и HTTP-статус ответа.
  • сообщение : Краткое описание ошибки.
  • ошибок : Список возникших ошибок. Каждая ошибка содержит
    идентификатор типа ошибки ( причина ) и краткое описание
    ( сообщение ).

Например, при отправке недопустимого JSON будет возвращена следующая ошибка:

{
 "ошибка": {
  "ошибки": [
   {
    "домен": "глобальный",
    "причина": "parseError",
    "message": "Ошибка синтаксического анализа",
   }
  ],
  "код": 400,
  "message": "Ошибка синтаксического анализа"
 }
}
 

Возможные ошибки включают:

Причина Домен Код состояния HTTP Описание
дневной лимитпревышен лимиты использования 403 Вы превысили дневной лимит.
ключНеверный лимиты использования 400 Ваш ключ API недействителен для API геолокации. Убедитесь, что
вы включили весь ключ и либо приобрели API
или включили биллинг и активировали API для получения квоты на
бесплатно.
userRateLimitExceeded лимиты использования 403 Вы превысили лимит запросов, настроенный в Google Cloud Console.
Этот лимит обычно устанавливается как запросы в день, запросы в 100 секунд,
и запросов за 100 секунд на пользователя. Это ограничение должно быть настроено
чтобы предотвратить исчерпание вашей дневной квоты одной или небольшой группой пользователей,
при этом разрешая разумный доступ для всех пользователей.
См. Ограничение использования API
для настройки этих ограничений.
не найдено геолокация 404 Запрос действителен, но результаты не возвращены.
parseError глобальный 400 Тело запроса не является допустимым JSON. Обратитесь к
Раздел «Тело запроса» для получения подробной информации о каждом
поле.

Примеры запросов

Примечание. Mac-адреса могут меняться со временем.
По этой причине примеры на этой странице могут привести к сообщению об ошибке.
из API.

Если вы хотите попробовать Geolocation API с примерами данных, сохраните
следующий JSON в файл:

{
  "considerIp": "ложь",
  "Точки доступа Wi-Fi": [
    {
      "macAddress": "84:d4:7e:f6:99:64",
      "Сила сигнала": -54,
      "сигналтошумратио": 0
    },
    {
      "macAddress": "84:d4:7e:f6:99:71",
      "Сила сигнала": -43,
      "сигналтошумратио": 0
    },
    {
      "macAddress": "84:d4:7e:f7:21:35",
      "Сила сигнала": -32,
      "сигналтошумратио": 0
    }
  ]
}
 

Затем вы можете использовать cURL, чтобы сделать запрос
из командной строки:

$ curl -d @your_filename. json -H "Тип контента: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY"
 

Ответ для вышеуказанных адресов Mac выглядит так:

{
  "расположение": {
      "лат": 37.4237423,
      "длинный": -122.0915814
  },
  "точность": 20
}
 

(см. Получение ключа API, если у вас нет ключа API.)

Для дополнительного тестирования вы можете собрать информацию со своего устройства Android с помощью
Places SDK для Android и
Андроид
API определения местоположения, а также с вашего устройства iOS с помощью
Места SDK для iOS.

Часто задаваемые вопросы

Почему я получаю очень большой радиус точности в моем
Геолокационный ответ?

Если ваш ответ геолокации показывает очень высокое значение в
точность поле, служба может определять геолокацию на основе
запрашивать IP вместо точек WiFi или вышек сотовой связи.

© 2021 News4Apple - новости из мира Apple
scroll to top