Реализация новых функций и рефакторинг существующих модулей Android-приложения компании «Юрент»
Наша команда участвовала в разработке новых функций и рефакторинге существующих модулей Android-приложения для аренды электрических снегокатов. В рамках проекта мы реализовали функцию аренды снегокатов с отображением в интерфейсе мобильного приложения, а также функционал промо-кнопки для привлечения внимания к специальным предложениям.
Клиент
Юрент — один из крупнейших в России сервисов аренды электросамокатов (кикшеринга): более 150 тысяч самокатов и работа более чем в 200 городах.
Задача
Изначально приложение было разработано для аренды электросамокатов. В рамках проекта его нужно было адаптировать под новый тип транспорта — электрические снегокаты.
Перед командой стояли две задачи:
-
Добавить отображение снегокатов на карте. Для этого необходимо было доработать взаимодействие с серверной частью приложения, добавить новый тип транспортного средства и обновить пользовательский интерфейс для корректного отображения снегокатов на карте.
-
Реализовать промо-кнопку на главном экране. Кнопка должна была показывать акции, специальные предложения и другие кампании, но не мешать пользователю взаимодействовать с картой. При действиях на карте она должна была временно скрываться. Также требовалось обеспечить настройку промо-кнопки через административную панель без необходимости выпускать новую версию мобильного приложения.
Решение
Команда выполнила следующие работы:
-
Добавила в Android-приложение Юрент новый тип транспортного средства — электрические снегокаты.
-
Настроила получение данных с бэкенда и отображение маркеров снегокатов на карте.
-
Реализовала отображение информации об аренде нового типа транспорта.
-
Доработала историю заказов с учетом аренды снегокатов.
-
Адаптировала текстовые элементы интерфейса под новый тип транспортного средства.
Для реализации функционала промо-кнопки команда выполнила следущие работы:
-
Настроила определение нужного шаблона промо-кнопки для конкретного пользователя и региона через систему управления настройками Flagr.
-
Реализовала загрузку шаблона промо-кнопки с бэкенда по ключу.
-
Добавила промо-кнопку в пользовательский интерфейс главного экрана с картой.
-
Настроила маркетинговое действие по нажатию на промо-кнопку. Внешний вид кнопки — изображение и текст — а также действие по нажатию настраиваются на бэкенде.
-
Реализовала переход по глубокой ссылке, открытие ссылки в браузере или переход в приложении Pushwoosh в зависимости от настроек.
-
Настроила поведение промо-кнопки при взаимодействии пользователя с картой Google Maps или 2GIS: при жестах на карте кнопка временно скрывается.
-
Вынесла промо-кнопку в отдельный модуль, чтобы ее можно было использовать на других экранах приложения.
Результат
Полностью реализованы новые функции Android-приложения:
-
В мобильное приложение добавлен новый тип транспортного средства (снегокаты) с полным циклом аренды: отображение на карте, просмотр информации, оформление заказа, история поездок.
-
Расширена география и сезонность бизнеса — запуск аренды снегокатов позволил использовать приложение в зимний период, загружая парк техники, который ранее простаивал.
-
Внедрён гибкий маркетинговый инструмент — промо-кнопка на главном экране, которая позволяет запускать акции и спецпредложения без обновления приложения в магазинах приложений.
-
Сохранена бесшовность пользовательского опыта — промо-кнопка скрывается при взаимодействии с картой, не мешая основной функции аренды.
Бизнес-эффект
-
Заказчик получил возможность запустить новый продукт — аренду электрических снегокатов — силами внешней команды, не отвлекая штатных специалистов от текущих задач и без расширения внутренней команды.
-
Выделенный модуль промо-кнопки и архитектурное разделение типов транспортных средств (ТС) снижают вероятность «сломать» существующий функционал (аренду самокатов) при добавлении нового. Тщательное тестирование и исправление ошибок до релиза обеспечили стабильный запуск.
-
Запуск снегокатов делает приложение всесезонным. Пользователи, которые арендовали самокаты летом, задерживаются в приложении зимой, что повышает пожизненную ценность клиента и снижает отток.
-
Переиспользуемость и масштабируемость. Архитектурные решения (выделенный модуль для промо-кнопки, универсальные механики добавления ТС) позволяют заказчику в будущем добавлять новые типы техники (велосипеды, электромобили) и новые маркетинговые блоки с минимальными доработками.
Технологии
Kotlin, Android SDK, Jetpack compose, koin, coroutines, gson, ktor, 2gis, google maps, Pushwoosh