Для операционной команды и полевых сотрудников
Разработка мобильного приложения с офлайн-режимом
Загруженное задание открывается без сети. Результат сохраняется на телефоне и ждёт передачи.
Мы проектируем приложения для работы при нестабильной связи: определяем доступные локально данные, очередь отправки и правила конфликтов. Сотрудник видит, что сохранено на устройстве и что уже принято сервером.
Для оценки: один сценарий, ваши системы и платформы.
Опыт 13FOXБакаев: приложение, админка и 1С связаны обменом
должен продолжаться.
01 / Один выезд, несколько состояний данных
Работа закончена.
Передача ещё продолжается.
До выезда сотрудник получает задание и нужный справочник. На объекте заполняет результат и добавляет фото. Мы предлагаем сохранять их на устройстве до отправки и показывать состояние каждой операции. Подтверждение сервера и проверка результата диспетчером получают отдельные статусы.
Задание А-17: осмотр оборудования
Начальное состояние: загружена версия 3, сотрудник назначен.
На телефоне
Задание и очередь
- Задание А-17
- Версия 3 · назначено
- Результат и фото · ОП-101
- Ещё не созданы
- Завершение · ОП-102
- Ещё не создано
В офисе
Сервер и диспетчер
- Задание А-17
- Версия 3 · назначено
- Полученные отчёты
- 0
- Решение по завершению
- Ожидается работа сотрудника
Пройдите шаги по порядку: потеря сети, локальное сохранение, передача с пропавшим ответом, повтор и конфликт с офисной версией.
Это учебная модель: кнопки меняют данные на странице, без отправки файлов и обращения к серверу. Сохранение после перезапуска и реальную синхронизацию проверяем в приложении на ваших устройствах.
- 01
Запись на устройстве
Сохраняем результат и файлы, затем ставим действие в очередь. Если места нет, показываем ошибку сохранения и порядок действий.
- 02
Повтор той же операции
Повторяем прежнюю операцию с тем же идентификатором и содержимым. Сервер проверяет, принят ли результат ранее, и возвращает подтверждение. Изменённый результат получает новую операцию.
- 03
Конфликт версий
Сопоставляем версию, с которой работал сотрудник, с текущей серверной записью. Если задание отменено, сохраняем отчёт и направляем завершение на разбор.
02 / Границы работы без интернета
На телефоне хранится
согласованный набор данных.
Офлайн-режим нужен для конкретных действий. Мы вместе с вашей командой определяем, какие сведения сотрудник может загрузить, сколько хранить и что делать с ними после передачи. У каждой записи показываем время обновления.
Для своего задания
- Назначенные задачи, адрес и разрешённые сведения об объекте.
- Нужные инструкции и справочники, загруженные до выезда.
- Черновик результата, чек-лист и фотографии.
- Очередь операций с состояниями «ждёт», «принято», «нужно действие».
Свежие решения офиса
- Первый вход и получение новых назначений.
- Текущие остатки, цены и изменения других сотрудников.
- Отзыв серверных прав и решение спорного завершения.
- Подтверждение приёма сервером и обмен с CRM или 1С.
Доступ и сохранность согласуем до разработки
Ограничиваем локальные данные по роли и сроку хранения, проектируем защиту файлов и ключей. Отдельно определяем работу после истечения сессии, смены пользователя, отзыва доступа и потери устройства. Без связи телефон не узнает о серверном отзыве сразу; допустимый период автономного доступа задаёт ваша политика.
Утрата телефона до передачи может привести к потере локальных записей. Закрытие приложения, нехватка памяти и прерванная запись файла входят в испытания. Фоновую отправку планирует операционная система, поэтому предусматриваем видимую очередь и запуск синхронизации из приложения.
03 / Состав первого релиза
Начинаем с одного
завершённого сценария.
Например, с осмотра объекта: назначение, подготовка данных, чек-лист и фото, передача, проверка диспетчером. В первой версии предлагаем мобильный интерфейс, сервер обмена, локальное хранилище и рабочее место для разбора ошибок.
Если приложение уже есть, проверим возможность добавить этот процесс. Готовую платформу сравним на том же задании: состав доступных без сети данных, работа с вложениями, правила конфликтов, интеграции и условия выгрузки данных.
Что фиксируем в составе работ
- Мобильное приложение
- Android, iOS или выбранная платформа; вход, задание, локальная запись и состояние передачи.
- Сервер и интеграции
- Идентификаторы, версии, проверка повторов и прав. Источник заданий и маршрут результата в вашу систему.
- Рабочее место команды
- Очередь ошибок, обе версии при конфликте, ответственный и история принятого решения.
- Запуск и передача
- Испытания на согласованных устройствах, инструкции, порядок поддержки и передаваемые материалы.
Что оцениваем отдельно
Карты целого региона без связи, большой архив, видео, несколько баз учёта, складские операции, электронная подпись и управление корпоративными устройствами требуют отдельных правил и проверки. В первом релизе оставляем только согласованные данные и действия.
04 / Выполненная работа 13FOX
В Бакаеве мы связали
мобильный магазин и учёт.
Мы помогли перенести локальную 1С в облако и настроили двусторонний обмен через сервер синхронизации. Сотрудник меняет фотографию товара в админ-панели, изменение доходит до 1С. Заказ из приложения уменьшает остаток в админке и учётной системе. Изменения из 1С проходят обратный путь к приложению.
Этот проект подтверждает опыт связи приложения, админки и учёта. Офлайн-режим и алгоритмы конфликтов Бакаева в опубликованных материалах не описаны. Для вашего приложения мы предлагаем спроектировать их отдельно и показать результат на испытаниях.
Посмотреть кейс Бакаев ↗
05 / Стоимость, ход работы и приёмка
Стоимость зависит
от данных и операций.
Перед оценкой мы разбираем один рабочий день: где теряется связь, как долго сотрудник автономен и какое действие нужно подтвердить офису. Проверяем доступный обмен с CRM, 1С или другой системой. Затем предлагаем состав первого релиза и допущения для расчёта.
Что прислать для оценки
- Один сценарий и обезличенную форму задания: что сотрудник читает, меняет и прикладывает.
- Названия систем, версии и доступные способы обмена; кто отвечает за их доработку.
- Платформы и модели устройств, длительность работы без сети, пример объёма файлов.
- Правила доступа, хранения и решение при отмене или изменении задания.
Из чего складываются расходы
Мы отдельно оцениваем разбор процесса и прототип, мобильные экраны, локальные данные и очередь, сервер, интеграции, испытания и запуск. Фотоотчёт с одним маршрутом требует другого объёма работ, чем двустороннее изменение складских документов.
Срок зависит также от готовности API и согласования правил. Инфраструктуру, внешние лицензии, распространение приложения и поддержку указываем отдельными пунктами. Для расчёта нужны ваши вводные.
- 01
Согласуем правила
Определяем, какие данные остаются на телефоне и откуда приходят задания и справочники. Согласуем повторы отправки и решение конфликтов. На прототипе проверяем понятность статусов.
- 02
Собираем один путь
Реализуем работу на устройстве, сервер и обмен. Ваша команда предоставляет тестовую среду и ответственного за данные.
- 03
Проводим испытания
Воспроизводим отключение сети и сбои на рабочих устройствах. Фиксируем ожидаемый результат и запись, по которой его можно проверить.
- 04
Передаём и поддерживаем
В договоре фиксируем исходники, права, доступы, инструкцию сборки и состав документации. Согласуем разбор ошибок, обновления и условия сопровождения.
Попросите показать
эти проверки
Каждый пункт проверяем по согласованному сценарию и фиксируем фактический результат.
- Сеть отключена. Задание открывается, результат и вложения сохраняются. После закрытия и запуска приложения очередь остаётся доступна.
- Ответ сервера пропал. Повтор с тем же идентификатором подтверждает уже принятый результат; число отчётов не увеличивается.
- Задание изменили в офисе. Версии доступны для сравнения, спорное завершение ждёт решения ответственного.
- Ошибка файла или доступа. Нехватка места и истёкшая сессия видны сотруднику; данные не помечаются как успешно переданные.
- CRM или 1С недоступна. Получение сервером приложения отделено от передачи в учёт. После восстановления сверяем результат в обеих системах.
Перед договором
Вопросы руководителя
полевых работ
Можно ли работать совсем без интернета?
Для согласованного набора действий можно предусмотреть работу без связи. До выезда нужны вход и загрузка разрешённых данных. Новые назначения, изменения офиса и подтверждение сервера придут после обмена. Длительность автономного доступа, объём и срок хранения фиксируем в требованиях.
Будут ли данные отправляться сразу после появления сети?
Мы предусматриваем отправку при доступной связи, очередь и ручной запуск синхронизации. Фоновый запуск зависит от операционной системы и условий на устройстве. Проверяем работу при закрытом приложении и возвращении в него на согласованных версиях Android и iOS.
Как сравнить предложения подрядчиков?
Дайте всем один сценарий: потеря сети, сохранение фото, закрытие приложения, пропавший ответ и изменение задания в офисе. Сравните ожидаемые результаты, состав серверной части, интеграции, испытания и поддержку. Попросите отделить выполненные кейсы от предлагаемых функций.
Что проверить при передаче исходников?
Согласуйте мобильный и серверный код, права на результат, доступы к инфраструктуре, инструкцию сборки и зависимости от сторонних библиотек. Уточните, кто владеет аккаунтами распространения, как выпускаются обновления и кто разбирает ошибки после запуска. Эти условия включаем в договор.
Начнём с одного рабочего действия
Начнём со сценария,
систем и платформ.
Оставьте контакт в форме или пришлите описание в Telegram. Мы разберём один сценарий, необходимые системы и платформы, предложим состав первого релиза и подготовим оценку.