Android Приложение с использованием Location
16 000 руб. за проект
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
Краткое описание:
Andoid Приложение, которое, постоянно работая в фоне (не требуя никаких действий от пользователя), должно стабильно и без задержек передавать на Сервер информацию о входе и выходе смартфона из геозоны (радиусом 100м), потребляя при этом мало батареи (<170 мАч/сутки).
Интерфейс:
Авторизация пользователя - 5 экранов;
Рабочий стол - 1 экран.
Связь с сервером. Краткое описание пяти коннекторов API:
1. Авторизация. Передаем на сервер user_id, введенный пользователем, и сгенерированный уникальный id смартфона (device_uuid). Если ID верный - получаем в ответ список с координатами геозон, из которых пользователь выберет одну;
* Каждый пользователь (user_id) может иметь только одно активное устройство (device_uuid). Чтобы гарантировать это, сервер проверяет переданный device_uuid и может вернуть ошибку.
** userdevice_uuid хранится в памяти телефона и не меняется при переустановке приложения.
2. В случае успешной авторизации, передаем на сервер выбранную пользователем геозону;
3. Периодически (например, раз в полчаса) передаем на сервер информацию об имеющихся у приложения разрешениях (location, notifications etc) в качестве пинга о том, что приложение успешно работает в фоне.
*** Возможно, есть лучшие способы удаленно отслеживать работоспособность приложения. Можете предложить свой вариант.
4. При входе или выходе из геозоны, отправляем на сервер user_id, device_uuid, текущее время (из сервиса location) и тип события.
***** Тип события = вход/выход + статус приложения в момент события (закрыто/открыто).
5. На рабочем столе, пользователь видит текущий статус, присвоенный ему сервером (внутри зоны / снаружи зоны / под вопросом). Нажав кнопку "обновить" пользователь может запросить этот статус с сервера заново.
Прочее:
- Если в момент события входа/выхода на смартфоне недоступен интернет (например, в лифте), событие и его локальное время должны быть сохранены и отправлены на сервер при первой возможности;
- Если пользователь прервал процесс регистрации (например, закрыл приложение), то при повторном запуске приложения регистрация должна возобновиться с последнего момента, а не начинаться заново.
КРИТИЧЕСКИЕ ТРЕБОВАНИЯ
Работа не может считаться выполненной частично и имеет нулевую ценность для Заказчика, если не выполнено любое из следующих критических требований:
1. Перед получением от Заказчика макетов дизайна приложения и документации API, Исполнитель подписывает соглашение о конфиденциальности (NDA) в соответствии с прикрепленным шаблоном и присылает заказчику скан;
2. Для корректной работы приложения, конечный пользователь может быть должен ответить согласием на запросы разрешений при установке приложения или в процессе первого запуска и регистрации. Конечного пользователя НЕЛЬЗЯ заставлять вручную изменять какие-либо настройки смартфона после установки приложения для поддержания его стабильной работы;
3. Для корректной работы приложения, пользователю может отображаться значок в status bar либо перманентное уведомление в центре уведомлений о том, что запущена foreground service. Пользователь НЕ должен видеть никаких других уведомлений от приложения, даже когда оно получает или отправляет информацию на сервер.
4. Уровень надежности - минимум 95% событий входа/выхода из геозоны должны фиксироваться, не требуя от пользователя смартфона никаких действий (смартфон лежит заблокированный в сумке или кармане);
5. Допустимая задержка между физическим входом/выходом смартфона из геозоны и поступлением события на сервер < 60 секунд (при условии, что смартфон подключен к интернету и разрешена геолокация);
6. Ложные срабатывания входа/выхода в геозону недопустимы;
7. Приложение должно потреблять не более 170 мАч энергии смартфона в сутки (либо не более 5% в сутки, для более емких аккумуляторов);
8. Если смартфон был выключен или перезагружен, при включении приложение должно запускаться автоматически;
9. Приложение должно соответствовать перечисленным требованиям на любом смартфоне, работающим под управлением ОС Android версии 5.0 и новее, вне зависимости от наличия Google Play Services и Google Mobile Services.
10. Срок выполнения работ не может быть превышен более, чем на 1 месяц, при отсутствии задержек со стороны Заказчика.
11. После завершения работ, Исполнитель подписывает с Заказчиком Договор уступки прав на мобильное приложение как результат работы, присылает Заказчику скан и отправляет оригиналы Договора (2 экземпляра) и NDA (2 экземпляра) по почте на адрес Заказчика.
Если любое из критических требований не выполнено, Заказчику возвращается 100% суммы заказа (за вычетом комиссии за безопасную сделку).
ТРЕБОВАНИЯ К РЕЗУЛЬТАТУ
Работа не считается завершенной в полном объеме, если нарушено любое из или нижеперечисленных требований:
1. Дизайн и копирайт на экранах приложения должны соответствовать макетам Заказчика;
2. Любой дополнительный функционал или механика работы приложения, не описанные в ТЗ, могут быть внедрены только после письменного согласования с Заказчиком.
ПОРЯДОК И СРОКИ РАБОТЫ
- Завершив и протестировав версию приложения, Исполнитель присылает ее Заказчику, после чего Заказчик имеет 5 дней на тестирование на своих устройствах;
- При обнаружении недостатков, Заказчик присылает Исполнителю их список, после чего Исполнитель пытается их устранить.
Максимальный срок выполнения работ Исполнителем - 30 календарных дней.
Сроки и условия работы могут быть изменены по согласованию сторон в переписке.
Краткое описание:
Andoid Приложение, которое, постоянно работая в фоне (не требуя никаких действий от пользователя), должно стабильно и без задержек передавать на Сервер информацию о входе и выходе смартфона из геозоны (радиусом 100м), потребляя при этом мало батареи (<170 мАч/сутки).
Интерфейс:
Авторизация пользователя - 5 экранов;
Рабочий стол - 1 экран.
Связь с сервером. Краткое описание пяти коннекторов API:
1. Авторизация. Передаем на сервер user_id, введенный пользователем, и сгенерированный уникальный id смартфона (device_uuid). Если ID верный - получаем в ответ список с координатами геозон, из которых пользователь выберет одну;
* Каждый пользователь (user_id) может иметь только одно активное устройство (device_uuid). Чтобы гарантировать это, сервер проверяет переданный device_uuid и может вернуть ошибку.
** userdevice_uuid хранится в памяти телефона и не меняется при переустановке приложения.
2. В случае успешной авторизации, передаем на сервер выбранную пользователем геозону;
3. Периодически (например, раз в полчаса) передаем на сервер информацию об имеющихся у приложения разрешениях (location, notifications etc) в качестве пинга о том, что приложение успешно работает в фоне.
*** Возможно, есть лучшие способы удаленно отслеживать работоспособность приложения. Можете предложить свой вариант.
4. При входе или выходе из геозоны, отправляем на сервер user_id, device_uuid, текущее время (из сервиса location) и тип события.
***** Тип события = вход/выход + статус приложения в момент события (закрыто/открыто).
5. На рабочем столе, пользователь видит текущий статус, присвоенный ему сервером (внутри зоны / снаружи зоны / под вопросом). Нажав кнопку "обновить" пользователь может запросить этот статус с сервера заново.
Прочее:
- Если в момент события входа/выхода на смартфоне недоступен интернет (например, в лифте), событие и его локальное время должны быть сохранены и отправлены на сервер при первой возможности;
- Если пользователь прервал процесс регистрации (например, закрыл приложение), то при повторном запуске приложения регистрация должна возобновиться с последнего момента, а не начинаться заново.
КРИТИЧЕСКИЕ ТРЕБОВАНИЯ
Работа не может считаться выполненной частично и имеет нулевую ценность для Заказчика, если не выполнено любое из следующих критических требований:
1. Перед получением от Заказчика макетов дизайна приложения и документации API, Исполнитель подписывает соглашение о конфиденциальности (NDA) в соответствии с прикрепленным шаблоном и присылает заказчику скан;
2. Для корректной работы приложения, конечный пользователь может быть должен ответить согласием на запросы разрешений при установке приложения или в процессе первого запуска и регистрации. Конечного пользователя НЕЛЬЗЯ заставлять вручную изменять какие-либо настройки смартфона после установки приложения для поддержания его стабильной работы;
3. Для корректной работы приложения, пользователю может отображаться значок в status bar либо перманентное уведомление в центре уведомлений о том, что запущена foreground service. Пользователь НЕ должен видеть никаких других уведомлений от приложения, даже когда оно получает или отправляет информацию на сервер.
4. Уровень надежности - минимум 95% событий входа/выхода из геозоны должны фиксироваться, не требуя от пользователя смартфона никаких действий (смартфон лежит заблокированный в сумке или кармане);
5. Допустимая задержка между физическим входом/выходом смартфона из геозоны и поступлением события на сервер < 60 секунд (при условии, что смартфон подключен к интернету и разрешена геолокация);
6. Ложные срабатывания входа/выхода в геозону недопустимы;
7. Приложение должно потреблять не более 170 мАч энергии смартфона в сутки (либо не более 5% в сутки, для более емких аккумуляторов);
8. Если смартфон был выключен или перезагружен, при включении приложение должно запускаться автоматически;
9. Приложение должно соответствовать перечисленным требованиям на любом смартфоне, работающим под управлением ОС Android версии 5.0 и новее, вне зависимости от наличия Google Play Services и Google Mobile Services.
10. Срок выполнения работ не может быть превышен более, чем на 1 месяц, при отсутствии задержек со стороны Заказчика.
11. После завершения работ, Исполнитель подписывает с Заказчиком Договор уступки прав на мобильное приложение как результат работы, присылает Заказчику скан и отправляет оригиналы Договора (2 экземпляра) и NDA (2 экземпляра) по почте на адрес Заказчика.
Если любое из критических требований не выполнено, Заказчику возвращается 100% суммы заказа (за вычетом комиссии за безопасную сделку).
ТРЕБОВАНИЯ К РЕЗУЛЬТАТУ
Работа не считается завершенной в полном объеме, если нарушено любое из или нижеперечисленных требований:
1. Дизайн и копирайт на экранах приложения должны соответствовать макетам Заказчика;
2. Любой дополнительный функционал или механика работы приложения, не описанные в ТЗ, могут быть внедрены только после письменного согласования с Заказчиком.
ПОРЯДОК И СРОКИ РАБОТЫ
- Завершив и протестировав версию приложения, Исполнитель присылает ее Заказчику, после чего Заказчик имеет 5 дней на тестирование на своих устройствах;
- При обнаружении недостатков, Заказчик присылает Исполнителю их список, после чего Исполнитель пытается их устранить.
Максимальный срок выполнения работ Исполнителем - 30 календарных дней.
Сроки и условия работы могут быть изменены по согласованию сторон в переписке.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.