Формулировка проблемы: необходимо добавить возможность определения координат в мобильном клиенте и генерирования событий во внешнем модуле.
Связанные задачи: 62.API41.
Решение:
Во-первых, в разделе мобильного клиента «Настройки» необходимо добавить новую группу элементов «Местоположение».
Группа будет содержать следующие настройки:
флажок «Отправлять геоданные» (по умолчанию, выключен);
выбор вариантов «Период обновления» со следующими возможными значениями:
«1 минута»;
«3 минуты» - по умолчанию;
«5 минут»;
«10 минут»;
«15 минут»;
«Настроить период» - при выборе данного варианта приложение открывает системный диалог «Период обновления», значение по умолчанию - 1 минута.
Примечание:
Для операционной системы Android
- при
изменении настроек приложение открывает модальное окно
подтверждения с сообщением «Чтобы изменения вступили в силу,
необходимо перезапустить приложение. Хотите сделать это сейчас?»
с кнопками:
«Да» - мобильный клиент перезагружается, устанавливаются заданные ранее настройки;
«Нет» - приложение закрывает окно, заданные ранее настройки не применяются.
При выключенном флажке «Отправлять геоданные» выбор элемента «Период обновления» неактивен, значение установлено по умолчанию, либо на последнем выбранном.
При выключенном флажке «Запомнить меня» на экране авторизации
настройки «Местоположение» неактивны (только для
Android
).
При включении флажка «Отправлять геоданные» необходимо
производить проверку подключения GPS
:
для Android
- при выключенном
GPS
на устройстве, мобильный клиент
должен открывать модальное окно с сообщением «GPS отключен.
Для получения текущего местоположения необходимо его
включить. Хотите сделать это сейчас?» и кнопками «Да» и
«Нет»; при нажатии на «Да» приложение закрывает модальное
окно и открывает системные настройки геолокации;
для iOS
- при выключенном
GPS
на устройстве, мобильный клиент
должен открывать системное окно с сообщением «Программа
"SYNERGY" запрашивает разрешение на использование
Вашей текущей геопозиции» и кнопками «Запретить» и «ОК»;
При выключенном GPS
настройки
«Местоположение» неактивны.
Во-вторых, мобильный клиент
вызывает API для генерации события под
названием event.ext.gps
с параметрами:
user
- Фамилия И.О.
авторизованного пользователя;
userID
- UUID
авторизованного пользователя;
координаты местоположения авторизованного пользователя:
lat
- координаты широты;
lon
- координаты долготы;
Примечание: округление координат:
для Android
- не имеет ограничений,
зависит от точности определения местоположения;
для iOS
- 8 знаков после запятой;
locDate
- timestamp
в
момент получения перечисленных параметров;
каждые N
минут (в зависимости от настроенного
Периода обновления
).
В зависимости от статуса мобильного клиента
ARTA Synergy
требуется реализовать следующие
сценарии:
приложение удалено из памяти устройства (только для
iOS
), пользователь вышел из системы
(разлогинился), либо выключен GPS
- метод
API
не вызывается;
приложение свернуто или выключено (только для
Android
) - метод API
вызывается.