Обновление мобильного SDK для системы онлайн-платежей

Нередко доработка имеющегося функционала помогает многократно улучшить продуктовые метрики. В этом кейсе рассказываем о сотрудничестве с крупным международным провайдером онлайн-платежей, для которого мы обновили старый мобильный SDK, а также разработали новую версию с нуля.

Задача

Клиент обратился к нам в 2021 году. Его продукт — глобальная платежная система с поддержкой более 100 методов оплаты. В связи с запуском нового направления бизнеса, компания решила создать новую версию имеющегося мобильного SDK (пакета инструментов для разработки приложения). Нам предстояло исправить несколько ключевых ошибок, влияющих на успешное проведение платежей, а также «научить‎» SDK настраивать вид приложения при подключении новых партнеров. Для этого нужно было разработать новый функционал, обновить цветовую палитру и добавить новые UI-элементы.

Трудности

На старте проекта мы столкнулись с несколькими проблемами:

  • сильно связанный код текущего mSDK, отсутствие единой архитектуры;
  • старый стек технологий, отсутствие автоматизации кода;
  • 90% кода было написано на Java, что существенно замедляло темпы разработки нового функционала из-за специфики языка;
  • отсутствие единого подхода к верстке;
  • множественное дублирование кода (отсутствие корректной иерархии наследования классов).
9 месяцев
разработки
В 2,5 раза
выросло количество успешных платежей

Процесс

Мы разделили предстоящую работу на несколько шагов и приступили к последовательному выполнению каждого этапа.

Этап 1. Обновление инструментов сборки:

  • обновление Android Gradle plugin;
  • внедрение product flavors;
  • настройка build variants для тестирования;
  • внедрение Fastlane.

Этап 2. Уменьшение связанности кода, оптимизация, рефакторинг:

  • разделение на подмодули (Core + UI);
  • инкапсуляция логики в отдельные методы/классы;
  • оптимизация xml-верстки;
  • исправление багов + попутный рефакторинг;
  • удаление дублирующего кода (обобщение функционала).

Этап 3. Разработка новой библиотеки с применением современного стека:

  • создание core-модуля на Kotlin Multiplatform;
  • архитектура: MVVM + MVI;
  • 100% кода на Kotlin;
  • UI на Jetpack Compose (Android) и SwiftUI (iOS);
  • внедрение сбора аналитики;
  • автоматизация (Unit/UI-тестирование).

Результат

Мы выполнили все поставленные задачи в срок и клиент остался полностью доволен качеством проделанной работы. Количество успешных платежей, проводимых через мобильный SDK, выросло с 30% до 75%.

Технологии

Kotlin Multiplatform, Swift, SwiftUI, MVVM, MVI, Jetpack Compose, Ktor

Другие работы
Оставьте заявку на проект
Оставьте контакты, чтобы обсудить проект и условия сотрудничества, или позвоните: 8 800 200-99-24
Написать нам
Оставьте контакты, чтобы обсудить проект и условия
сотрудничества, или позвоните: 8 800 200-99-24
Оставьте свои контакты
SimbirSoft регулярно расширяет штат сотрудников.
Отправьте контакты, чтобы обсудить условия сотрудничества.
Порекомендуйте друга — получите вознаграждение!
  • Python-разработчик
  • Java-разработчик
  • Node.js-разработчик
  • Системный аналитик
  • DevOps-инженер
  • Специалист тендерного отдела
  • Менеджер по привлечению клиентов
  • 1С-консультант
  • Data Engineer
  • Java-архитектор
  • 1С-архитектор
  • Data Scientist
Прикрепить резюме, до 10Мб
Файл выбран