Техническая информация по KidsTrack 1.2.4 (на 27.09.2018)Пример живой картыhttps://www.izhforum.i…er_live_map.php?demo=1Интервал между запусками трекераИнтервал между запусками трекера определяется следующими настройкам:
- Частота обновления: частота обновления по умолчанию
- Использовать расписание: расписание позволяет выбирать частоту обновления для различных периодов в течении недели
- Расписание: список правил с указанием дня недели, начального и конечного времени, и частоты обновления для этого периода.
Если на момент включения трекера нет подходящих правил в расписании, то будет использована частота обновления по умолчанию. Если есть, то будет использована частота из этого правила.
В режиме "Авто" интервал зависит от следующих факторов:
- заряд батареи,
- подключения к внешнему источнику питания (при подключении к внешнему источнику заряд батареи не учитывается),
- тип подключения к интернету: WiFi считается безплатным подключением с неограниченным трафиком, подключение через сотовую сеть считается платным.
В зависимости от этих факторов вычисляется интервал между запуском трекера:
- если есть подключение к внешнему источнику питания, то
-- при подключении через WiFi: интервал 1 минута
-- при подключении через сотовую сеть: интервал 2 минуты
- если нет подключения к внешнему источнику питания, то
-- при заряде батареи >50%: интервал 2 минуты
-- при заряде батареи 15%-50%: интервал 5 минут
-- при заряде батареи <15%: интервал 10 минут
По истечении интервала приложение запускает процесс получения координат и отправки их на сервер.
Использование сенсора GPSПолучения координат с сенсора GPS ограничено следующими таймаутами:
При первом определении координат (сразу после нажатия кнопки "Включить трекер") координаты с сенсора GPS ожидаются в течение до 3-х минут.
При последующих определениях координат ожидание сенсора GPS ограничено 30 секундами.
Расход трафикаВерсия 1.0.6:Каждый цикл отправления координат на сервер требует в среднем 1000 байт HTTP-трафика (около 0.4к на прием, 0.6к на передачу). Этот трафик включает в себя:
- информация, добавляемая протоколами HTTP и TCP
- полезная нагрузка (около 300 байт)
В режиме "Авто" максимально возможный трафик мобильных данных в день составит: 30 циклов в час * 24 часа * 1000 байт = 720 кб в день.
Версия 1.0.5 и ниже:
Каждый цикл отправления координат на сервер требует в среднем 2500 байт HTTPS-трафика (около 1к на прием, 1.5к на передачу). Этот трафик включает в себя:
- информация, добавляемая протоколами HTTPS и TCP
- полезная нагрузка (около 300 байт)
В режиме "Авто" максимально возможный трафик мобильных данных в день составит: 30 циклов в час * 24 часа * 2500 байт = 1.8 мб в день.
API интерфейс к серверуВ настоящий момент данные перемещений можно скачать с сервера в формате JSON. Для получения данных в формате JSON надо к ссылке устройства добавить 2 параметра:
mode=poll - изменяет формат выдачи на JSON
last_hist_ts=1438110249 - ограничить выборку по времени
Ссылка доступа к API имеет следующий вид:
https://www.izhforum.info/forum/izhevsk/tracker_live_map.php?id=431.VCYJ86&pin1=ccbb1231130602e8541a36a0f9dd4b34&mode=poll&last_hist_ts=1438110249
Возвращаемый JSON:
{
"lat":32.25242, // широта
"lng":-90.81237, // долгота
"ts":1457123820000, // серверное время, Амстердамское время
"ver":"1.1.2", // версия
"battery_lvl":90, // уровень батареи
"battery_sts":0, // статус зарядки (0-не заряжается, 1,2 заряжается через сеть или USB)
"hist_db": // промежуточные треки если есть
"[{\"ts\":\"2016-03-04 21:34:24\",\"ts2\":\"2016-03-04 21:34:24\",\"lat\":\"32.25242\",\"lng\":\"-90.81212\",\"acc\":\"653\",\"payload\":[{\"data\":{\"lat\":\"32.25242\",\"lng\":\"-90.81212\",\"time\":1457123662706,\"pr\":\"gps\",\"acc\":653,\"batteryLvl\":91,\"batterySts\":0,\"cnt\":1,\"post_err_cnt\":0,\"wifi\":1,\"sleep\":120,\"devHasGps\":1,\"devHasNet\":1,\"devGpsEn\":1,\"devNetEn\":1},\"type\":\"loc\"}],\"uts\":\"1457123664\",\"uts2\":\"1457123664\"},{\"ts\":\"2016-03-04 21:37:00\",\"ts2\":\"2016-03-04 21:37:00\",\"lat\":\"32.25242\",\"lng\":\"-90.81237\",\"acc\":\"24\",\"payload\":[{\"data\":{\"lat\":\"32.25242\",\"lng\":\"-90.81237\",\"time\":1457123818503,\"pr\":\"network\",\"acc\":24,\"batteryLvl\":90,\"batterySts\":0,\"cnt\":1,\"post_err_cnt\":0,\"wifi\":1,\"sleep\":120},\"type\":\"loc\"}],\"uts\":\"1457123820\",\"uts2\":\"1457123820\"}]"
}
Версии и измененияВерсия 1.2.4:- убран скрытый режим, повышена стабильность на андроид 8 и выше
- добавлена страница "О программе" с диагностической информацией
Версия 1.2.2:- исправлена ошибка приложения на андроид 8
Версия 1.2.1:- улучшена стабильность.
- исправлены мелкие баги.
Версия 1.1.9:- улучшена стабильность.
- исправлены мелкие баги.
Версия 1.1.7:- приложение больше не использует номер телефона для генерации ID.
- исправлен баг, при котором приложение завершалось с ошибкой на некоторых версиях Андроид.
Версия 1.1.6:- увеличена длина случайного идентификатора
- исправлены мелкие баги
Версия 1.1.4:- исправлен баг, при котором приложение вылетало с ошибкой на некоторых версиях Android
Версия 1.1.3:- исправлен баг расписания, при котором расписание сдвигается на час при при переходе на летнее время
Версия 1.1.2:- исправлен баг, когда на некоторых устройствах приложение генерировало неправильный идентификатор (с пробелами и другими спецсимволами), что приводило к невозможности открытия ссылки и появлению сообщения "Устройство не найдено, или еще не присылает данные".
Если трекер работает нормально, но по ссылке выдается эта ошибка, то необходимо:
1. Установить новую версию
2. Перегенерировать ссылку
Версия 1.1.1:- Добавлено расписание включений и режимов работы. Расписание позволяет задать частоту работы на любой период времени в течение недели. При отсутствии подходящего правила в расписании частота включения будет определяться настройкой "Частота обновления".
- Убрана настройка для запуска трекера при включении устройства. Сейчас трекер запоминает, включен или выключен ли он пользователем, и восстанавливает это состояние при перезапуске устройства. Это позволяет использовать трекер с различными планировщиками. Кроме того, трекер теперь не требует ручного перезапуска в случае если приложение было принудительно закрыто Андроидом при нехватке памяти.
- Мелкие исправления и улучшения
Версия 1.0.6:- Уменьшен расход трафика примерно в 2-3 раза (в зависимости от условий работы)
- За счет внутренней оптимизации уменьшено время нахождения устройства в активном состоянии, и, соответсвенно, расход батареи. Теперь среднее время, необходимое устройству для получения/отправки координат составляет около 7-9 секунд при нормальных условиях приема GPS и связи.
- Увеличены таймауты при передаче на сервер
Версия 1.0.5:- Добавлена возможность запоминать треки при отсутсвии связи. Накопленные треки будут загружены на сервер при появлении связи автоматически. Максимальное количество треков в буфере - примерно 2000 (не менее 1.5 суток перемещений), после чего поступающие треки перестают сохранятся.
- Добавлена возможность держать сенсор GPS постоянно включенным при наличии внешнего источника питания. Этот режим улучшает точность и надежность работы GPS при использовании, например, в автомобиле. При отсутсвии внешнего источника питания опция не действует.
- Приложение больше не показывается в истории последних запущенных, и теперь его нельзя остановить свайпом
Версия 1.0.4:- Добавлена возможность выбирать интервал обновления координат от 1 до 60 минут
- Улучшена стабильность
Версия 1.0.3:- устранена потенциальная возможность подделывать геоданные по пин-коду из отправляемой ссылки. Пин-код в ссылке теперь захеширован, вычислить его невозможно, и поэтому только приложение на телефоне имеет возможность публиковать геоданные в ссылку. Если вашу ссылку смотрят большое количество пользователей, то рекомендуем перегенерировать ее и отправить заново.
- добавлены диагностические сообщения для пользователя (например в случае если GPS-сенсор на устройстве имеется, но настройки запрещают его использовать, и т.п.)
- улучшена стабильность работы
Сообщение отредактировал kidstrack - 28.09.18, 00:38