Приложение «Ты где был?!#»

Приложение для контроля местоположений, имеет следующую основную функциональность:

  • ппериодический контроль местоположений пользователей только в заданное время и дни с минимальной нагрузкой на аккумулятор устройства (потребление 4% заряда за 12 часов работы приложения);
  • ожидание получения местоположений с заданной точностью;
  • отображение всей истории местоположений на карте в виде маркеров;
  • сохранение данных в локальной базе данных устройства при отсутствии подключения к сети и выгрузка на сервер при его появлении;
  • возможность поделиться уникальной ссылкой для отслеживания своего местоположения c другими лицами (например отслеживание родителями местоположений детей ) в браузере на любом устройстве. Ссылка вида https://kol.hhos.ru/gkk/map.php?interval=15&wm=uniq_string , содержащая саму уникальную для пользователя строку и интервал обновления данных в секундах;
  • Наблюдающий через бот может перейти по ссылке вида https://kol.hhos.ru/gkk/map.php?nid=string2&wm=uniq_string , где может настроить геообласти контроля — при посещении этих областей, наблюдателю придет уведомление от бота;
  • регистрация при помощи telegram-бота. Также в боте есть возможность сформировать уникальную ссылку для просмотра своих местоположений; удаление всех своих данных;
  • возможность работы в оффлайн-режиме — данные хранятся только на устройстве, а также онлайн — история местоположений хранится на серверной части(их можно просмотреть по уникальной ссылке);
  • местоположения на устройстве и на сервере хранятся в измененном (пример), а их отображение — в корректном виде (пример).

Демо-режим доступен по ссылке.

Скачать можно с telegram-бота — https://t.me/myTestInfoBot

Алгоритм настройки работы приложения:

  1. Пользователь заходит в бот :

2. По кнопке качает приложение. После установки приложения без ввода кода доступен только оффлайн-режим работы — все данные сохраняются в телефоне. Описание настроек — см. п.6. Если пользователь хочет, чтобы его местоположения могли увидеть другие пользователи в любом браузере, то выполняем пункты ниже.

3. Нажимает кнопку «Наблюдаемый»:

4. Далее — кнопка «Получить код»:

5. Копирует код из сообщения, открывает ранее установленное приложение и в 3-й вкладке вводит код:

6. Так же в приложении задает настройки по своему усмотрению (можно оставить по умолчанию) —

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

7. Пользователь приложения формирует уникальную ссылку для просмотра его местоположений из самого приложения в 3-й вкладке или при помощи бота — меню «Наблюдаемый» кнопка «Url»

8. В меню «Наблюдаемый» также можно удалить все свои данные с сервера. При этом приложение переходит в оффлайн-режим — данные сохраняются только на телефоне. При необходимости можно повторить пункты 3-8.

9. После того, как пользователь поделился своей уникальной ссылкой с другим(и) пользователем(ями)(Далее наблюдатель), наблюдатель может перейти по ссылке в любом браузере и видеть местоположения пользователя в реальном времени при условии работы приложения у наблюдаемого.

Наблюдатель также может настроить геообласти — при появлении/выходе наблюдаемого с этой области — наблюдателю бот направит соответствующее уведомление. Для настройки геообластей наблюдатель переходит в меню бота «Наблюдатель»

10. Нажимает кнопку «Добавить» и вставляет уникальную ссылку, полученную от наблюдаемого и сформированную в п.7

11. Переходит по кнопке с именем наблюдаемого и настраивает области.

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

11. Готово — при появлении/выходе наблюдаемого с этой области — наблюдателю бот направит соответствующее уведомление :

12. Наблюдатель может удалить свои данные в меню «наблюдатель» нажав кнопку «Удаление данных».