В процессе разработки приложения команда столкнулась с рядом сложностей, которые потребовали тщательного анализа и нестандартных решений:
- Первичная настройка устройства и стабильность соединения.
Настройка обогревателя-майнера через BLE и Wi-Fi оказалась сложнее, чем ожидалось. Разные модели смартфонов и версии операционных систем по-разному взаимодействовали с BLE, что приводило к периодическим сбоям при передаче данных сети. Команда бэкенд-разработчиков и мобильных разработчиков совместно оптимизировала протокол передачи, добавила повторные попытки и механизмы отката, чтобы процесс подключения стал максимально надёжным.
- Безопасность данных и платежей.
Приложение обрабатывало персональные данные пользователей и финансовые операции, включая оплату картой и криптовалютой. Нужно было обеспечить безопасную авторизацию, шифрование передачи данных и защиту от возможных атак. Это потребовало интеграции дополнительных библиотек безопасности, настройки токенов сессий и контроля всех операций на сервере.
- Синхронизация нескольких устройств.
Поддержка управления несколькими приборами одновременно предъявляла высокие требования к backend: необходимо было корректно отслеживать статус каждого устройства, обновлять данные в реальном времени и синхронизировать их с приложением. Изначально возникали конфликты при одновременном обновлении нескольких устройств, которые пришлось решить с помощью очередей событий и оптимизации API.
- Разнообразие устройств и демо-режим.
Демо-режим и каталог майнеров требовали точного расчёта доходности и корректного отображения данных для разных моделей. Сложность заключалась в том, чтобы симулировать фарминг реалистично, учитывая динамику криптовалют и различия мощности устройств, без подключения реального прибора. Команда разработала серверные модели расчёта и тщательно тестировала их на точность и стабильность.