Назад к задачам
Middle — Senior
6

Проектирование архитектуры клиентской части для логирования пользовательских сценариев (мобильная)

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Разработать верхнеуровневую структуру мобильного клиента, отвечающего за сбор и передачу логов пользовательских сценариев. Необходимо включить следующие компоненты:

  • сбор метаданных: идентификатор пользователя, версия приложения, сведения об устройстве;
  • описание событий: открытые экраны, запросы к серверу, входящие и исходящие данные, результаты выполнения, возникшие ошибки, отметки времени;
  • локальное кэширование с политикой истечения срока хранения;
  • механизмы ручного и автоматического выгрузки логов;
  • возможность получения логов по запросу сервера;
  • определение формата и объёма передаваемых данных.

Серверный контракт: сериализованный файл журнала в JSON, содержащий события, связанные с пользователем, временем, экраном и версией приложения.