DCdmitry-chernenko.meВсе проекты
ENRU
Главная/projects/health-sdk
ИЗБРАННОЕdmitry/health-sdk

Unified Health SDK

Dirion · Senior Android · 2024 — сейчас

Единый Health SDK поверх Google Fit, Health Connect и Huawei Health — один API с fallback-логикой, переиспользуется в 3 продуктах компании.

{ } Репозиторий
3
продукта
+50%
Huawei sync
60%
дублирования
// Контекст

Три продукта дублировали синхронизацию шагов и тренировок с Google Fit, Health Connect и Huawei Health — дублирование кода, разное поведение и хрупкая поддержка Huawei.

// Что сделал
+Спроектировал единый Health SDK с одним API на Flow поверх всех провайдеров
+Добавил fallback-логику: выбор первого доступного провайдера и ретраи
+Сделал единый permission-manager, убрав дублирующий код в приложениях
+Написал гайд по интеграции — подключение за часы
sdk/HealthRepository.kt
-fun steps() = googleFit.read(STEPS)
+fun steps(): Flow<Steps> = providers
+ .firstAvailable(Fit, HealthConnect, Huawei)
+ .read(STEPS).retryWithFallback()
// Результат
Переиспользуется в 3 продуктах компании
+50% к стабильности синхронизации Huawei
−60% дублирования кода
// Стек
KotlinKMPCoroutines / FlowHealth ConnectGoogle FitHuawei Health
{ } РепозиторийВсе проекты