EmitLab
Мобильное приложение «AudioBaby»: аудиосказки, музыка и диафильмы для детей
EmitLab
#Программирование приложений

Мобильное приложение «AudioBaby»: аудиосказки, музыка и диафильмы для детей

707 
EmitLab Россия, Краснодар
Поделиться: 0 0 0
Мобильное приложение «AudioBaby»: аудиосказки, музыка и диафильмы для детей
Клиент

audiobaby.net

Сфера

Культура и исскусство

Регион

Россия

Сдано

Май 2022

Задача

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

Уникальная фича «Голос родителя»: Реализация сложного интуитивного модуля звукозаписи, позволяющего родителям самостоятельно начитывать встроенные текстовые сказки своим голосом, сохранять их локально и воспроизводить ребенку.

Интеграция с Legacy Backend: Бесшовная стыковка Flutter-клиента с предоставленной со стороны клиента бэкенд-архитектурой без возможности изменения структуры API, что требовало гибкой валидации и парсинга данных на стороне мобильного приложения.

Детский UI/UX и микро-анимации: Создание яркого, дружелюбного интерфейса с крупными элементами управления, адаптированными под детскую моторику, и плавной анимацией для минимизации задержек (скелетоны, предзагрузка картинок).

Решение

Для минимизации стоимости разработки и ускорения Time-to-Market при сохранении нативной производительности был выбран стек Flutter. Мы разделили приложение на изолированные архитектурные слои:

  • Кроссплатформенный движок (Flutter): Единая кодовая база для iOS и Android позволила сократить сроки разработки вдвое и гарантировала идентичную логику работы приложения на устройствах разного класса.

  • Управление состоянием (BLoC / Cubit): Архитектурный паттерн BLoC обеспечил строгую изоляцию бизнес-логики от UI. Это позволило корректно обрабатывать состояния загрузки контента, прерывания стриминга при входящих звонках и синхронизацию списков воспроизведения.

  • Аудио-движок и кэширование: Использование нативных аудио-плагинов Flutter с глубокой кастомизацией на уровнях Kotlin/Swift. Была реализована система интеллектуального чанкинга (скачивания трека частями) и локального кэширования для минимизации потребления мобильного трафика.

  • Модуль диктофона (Audio Recording): Интеграция с системными кодеками устройств для записи качественного звука «в один клик» с последующим сжатием аудиофайлов, чтобы они не перегружали внутреннюю память смартфона.

Реализованные продуктовые механики

  1. Интеллектуальный плеер сказок: Поддерживает функции перемотки, таймера сна (автоматическое выключение воспроизведения), сохранения позиции прослушивания и автоматического перехода к следующему треку.

  2. Локальный режим записи и воспроизведения: Инструмент, позволяющий родителю читать сказку с экрана и одновременно записывать аудио. Запись мгновенно привязывается к карточке книги и становится доступна во вкладке «Записано мной».

  3. Мультимедийный модуль диафильмов: Синхронизированный вывод графических слайдов на экран параллельно с трансляцией соответствующей аудиодорожки сказки, воссоздающий атмосферу классического проектора.

  4. Интеграция систем подписок (In-App Purchases): Настройка встроенных покупок и регулярных подписок через App Store и Google Play с корректной обработкой триал-периодов и восстановлением покупок на новых устройствах.

Результат

  • Успешный релиз в сторах: Приложение запущено и опубликовано в Google Play и App Store, собрав более 100 000 скачиваний на Android-платформе.

  • Снижение затрат на разработку: Благодаря выбору Flutter, клиент сэкономил до 40% бюджета по сравнению с нативной разработкой двух раздельных приложений (под iOS и Android).

  • Автономия от бэкенда: Логика приложения спроектирована таким образом, что даже при временных задержках на стороне Legacy-сервера клиента, интерфейс приложения остается отзывчивым за счет локального кэширования метаданных.

https://play.google.com/store/apps/details?id=net.audiobaby.audio

Стек технологий


Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

EmitLab с удовольствием обсудит вашу задачу

Оставить заявку