Google Fit — какво е, архитектура на платформата и API

Автор: IT Sectr Публикувано: 2026-03-25 Време за четене: 8 мин

Платформата Google Fit — екосистемата на Google за събиране, съхраняване и анализ на данни за физическата активност и здравето на потребителите на Android. Според Google Developers, 2025, платформата обединява Fitness API, Sensors API и Sessions API в единна архитектура, която се синхронизира с Google Cloud и е достъпна чрез REST заявки. Единен здравен профил позволява на потребителите да контролират кои приложения имат достъп до техните данни за фитнес и благосъстояние.

Основни

  • Google Fit — здравна платформа на Google, която обединява данни за физическа активност от различни приложения.
  • Fitness API — основният интерфейс за четене и запис на данни за стъпки, калории и пулс.
  • Sensors API — позволява получаване на данни в реално време от сензорите на устройството.
  • Sessions API — управлява сесии на активност: тренировки, разходки, бягания.
  • Google Fit SDK е достъпен за Android и iOS, както и чрез REST API за уеб сървъри.

Какво е Google Fit?

Google Fit е платформа за управление на здравето, пусната от Google през 2014 г. на конференцията I/O. Платформата предоставя единен API за четене и запис на данни за физическа активност, позволявайки на приложенията да обменят информация чрез централно хранилище в облака на Google.

За разлика от патентованите решения, Google Fit работи на операционната система Android и iOS чрез REST API. Потребителят може да свърже фитнес гривни, умни часовници и приложения за проследяване на активност, а Google Fit обобщава всички данни в единен здравен профил в Google Cloud.

Според Google I/O 2024, платформата се използва в над 5000 приложения по целия свят, а броят на активните потребители надхвърля 100 милиона. Платформата е интегрирана с Wear OS и поддържа всички популярни фитнес тракери чрез приложения на трети страни.

Архитектура на Google Fit

Архитектурата на Google Fit е изградена на три нива: клиентски SDK, облачно хранилище Google Fitness Store и REST API за сървърна интеграция. Клиентският SDK е достъпен за Android (Kotlin, Java) и iOS (Swift, Objective-C), както и уеб клиент чрез JavaScript.

Данните са организирани под формата на източници (DataSource) и точки на данни (DataPoint). Всеки източник представлява устройство или приложение, а всяка точка на данни представлява едно измерване с времеви печат. Групи от точки на данни се обединяват в сесии — непрекъснати периоди на активност с тип и продължителност.

kotlin
val fitnessClient = Fitness.getClient(activity, GoogleSignIn
    .getAccountForExtension(activity, fitnessOptions))

val stepType = DataType.TYPE_STEP_COUNT_DELTA

val request = DataReadRequest.Builder()
    .read(stepType)
    .setTimeRange(
        startTime, endTime, TimeUnit.MILLISECONDS
    )
    .build()

fitnessClient.readData(request)
    .addOnSuccessListener { response ->
        for (bucket in response.buckets) {
            println(bucket.dataSets)
        }
    }

Как работи Google Fit

Google Fit използва модел на синхронизация чрез Google Cloud с поддръжка както на онлайн, така и на офлайн режим. Приложението записва данни локално, а Google Fit SDK автоматично ги синхронизира с облачното хранилище при наличие на интернет връзка. Конфликтите се разрешават по принципа на последния запис.

Всеки тип данни има стандартизиран формат: стъпки — TYPE_STEP_COUNT_DELTA, калории — TYPE_CALORIES_EXPENDED, пулс — TYPE_HEART_RATE_BPM, разстояние — TYPE_DISTANCE_DELTA. За персонализирани типове могат да се създадат собствени DataType чрез конзолата на Google APIs с уникално пространство от имена.

Платформата поддържа два режима на запис: активен — приложението изрично извиква HistoryClient.insertData(), и пасивен — чрез RecordingClient, който се абонира за събиране на данни във фонов режим. Пасивният режим е удобен за фитнес приложения: потребителят стартира приложението веднъж, а Google Fit автоматично събира стъпки, калории и разстояние, когато приложението е минимизирано, без непрекъсната работа на процесора.

Според Google, платформата обработва над 2 милиарда точки на данни дневно. Средното закъснение при синхронизация е 5–10 секунди при активна връзка, а във фонов режим синхронизацията се извършва на всеки 30 минути за пестене на батерията.

Съгласие на потребителя и сигурност

Google Fit използва OAuth 2.0 за оторизация с обхвати на достъп fitness.activity.read, fitness.activity.write, fitness.body.read и fitness.body.write. Приложението изисква само необходимите обхвати, а потребителят потвърждава достъпа чрез стандартния диалогов прозорец на Google Sign-In с избор на акаунт.

Потребителят може по всяко време да оттегли достъпа чрез Google Account Permissions или приложението Google Fit. Google строго забранява прехвърлянето на здравни данни на трети страни без изрично съгласие, както и използването на данни за рекламни цели в съответствие с политиката Restricted Scopes.

API на Google Fit

Google Fit предоставя три основни API: Fitness API за четене и запис на исторически данни, Sensors API за потоци данни в реално време от сензори и Sessions API за управление на сесии на активност. Всяко API е достъпно както чрез Android SDK, така и чрез REST заявки.

Fitness API — основното API за работа с данни. Поддържа пакетни операции: запис на до 1000 точки на данни в едно извикване, четене с филтриране по времеви диапазон, тип данни и източник. За агрегиране на данни се използва DataSet с групиране по избрани метрики.

Sensors API позволява абониране за данни от сензори в реално време — стъпки, пулс, ускорение. Данните се доставят чрез SensorEventListener с честота, определена от типа на сензора и настройките на приложението.

Освен трите основни API, Google Fit предоставя Recording API за автоматично събиране на данни без необходимост приложението да остане активно. Това API е особено ценно за Wear OS: умните часовници могат да събират данни за пулс и активност, а приложението на телефона се синхронизира с тях при свързване. Recording API използва Google Fit Background Services, оптимизирани за минимална консумация на енергия — до 2% батерия на ден при пасивно събиране на стъпки.

REST API на Google Fit е достъпно чрез крайна точка fitness.googleapis.com. REST API позволява на сървърни приложения да четат и записват данни от името на потребителя след OAuth оторизация. Това е полезно за уеб аналитични табла, корпоративни фитнес програми и медицински системи, където се изисква централизирано съхранение на здравни данни на служители или пациенти.

kotlin
val recordingClient = Fitness
    .getRecordingClient(activity, googleSignInAccount)

recordingClient.subscribe(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener {
        println("Абонаментът е активен")
    }

// Получаване на исторически данни
val historyClient = Fitness
    .getHistoryClient(activity, googleSignInAccount)

val endTime = Calendar.getInstance().timeInMillis
val startTime = endTime - TimeUnit
    .DAYS.toMillis(7)

historyClient.readDailyTotal(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener { total ->
        println("Стъпки днес: $total")
    }

Интеграция на Google Fit в приложение

Интеграцията на Google Fit започва с добавяне на зависимости на Google Fit SDK чрез build.gradle: com.google.android.gms:play-services-fitness. След това трябва да се конфигурира конзолата на Google APIs — да се създаде проект, да се активира Fitness API и да се добавят OAuth 2.0 идентификационни данни с правилни SHA-1 отпечатъци.

Процесът на интеграция включва: инициализация на GoogleSignIn с необходимите обхвати, създаване на FitnessClient чрез Fitness.getClient(), искане на оторизация от потребителя и изпълнение на операции за четене или запис на данни. За фонов запис се използва RecordingClient, който автоматично събира данни дори когато приложението е минимизирано. Google Fit автоматично управлява честотата на събиране на данни в зависимост от нивото на батерията и активността на потребителя.

Според Google, приложенията с интеграция на Google Fit показват с 35% по-високо ниво на задържане на потребители. Основните категории приложения са фитнес тракери, приложения за бягане, колоездене, йога и контрол на теглото.

Важно е да се вземат предвид изискванията за поверителност: Google Fit използва Restricted Scopes — специални обхвати на достъп, които изискват отделна проверка на приложението чрез OAuth Verification. Разработчикът трябва да опише какви данни се събират, как се използват и колко дълго се съхраняват. Google също така изисква наличие на политика за поверителност и съответствие с програмата API Services Terms of Service.

Практически пример за запис

За запис на данни се създава DataSource с посочване на тип, устройство и приложение. След това се формира DataPoint с времеви печат и стойности. Множество DataPoint се обединяват в DataSet, който се предава на HistoryClient.write().

kotlin
val dataSource = DataSource.Builder()
    .setAppPackageName(activity)
    .setDataType(DataType.TYPE_STEP_COUNT_DELTA)
    .setType(DataSource.TYPE_RAW)
    .build()

val stepCount = DataPoint.builder(dataSource)
    .setTimestamp(now, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_STEPS, 500)
    .build()

val dataSet = DataSet.builder(dataSource)
    .add(stepCount)
    .build()

historyClient.insertData(dataSet)
    .addOnSuccessListener {
        println("Данните са запазени")
    }

Често задавани въпроси

Какви данни поддържа Google Fit?

Google Fit поддържа над 50 типа данни, включително стъпки, калории, пулс, разстояние, скорост, сън, тегло, височина, кръвно налягане, ниво на глюкоза и телесна температура. Пълният списък е достъпен в документацията на DataType за Android и REST API.

Нужен ли е Google акаунт за Google Fit?

Да, за работа с Google Fit е необходим Google акаунт. Потребителят се оторизира чрез Google Sign-In, след което приложението получава достъп до Fitness API с посочените обхвати. Без Google акаунт платформата не е достъпна, тъй като всички данни се съхраняват в Google Cloud.

Могат ли данните да бъдат експортирани от Google Fit?

Да, данните от Google Fit могат да бъдат експортирани чрез Google Takeout — услугата позволява изтегляне на всички данни от платформата във формати JSON и CSV. Разработчиците могат програмно да експортират данни чрез REST API с подходящ обхват на достъп.

Как се различава Google Fit от HealthKit?

Google Fit е мултиплатформена облачна платформа, която работи на Android, iOS и чрез REST API, докато HealthKit е обвързан с екосистемата на Apple iOS и съхранява данни локално на устройството. Google Fit използва OAuth 2.0 за оторизация, а HealthKit използва системни разрешения на iOS.

Какви са лимитите на Google Fit API?

Google Fit API има следните лимити: 1000 заявки на 100 секунди на проект, 1000 точки на данни на една заявка за запис, максимален времеви диапазон за четене — 365 дни на една заявка. За увеличаване на лимитите трябва да се поиска квота чрез Google Cloud Console.

Обобщение

  • Google Fit — мултиплатформена облачна здравна платформа на Google, пусната през 2014 г.
  • Платформата предоставя три API: Fitness, Sensors и Sessions за различни работни сценарии.
  • Около 5000 приложения използват Google Fit, а броят на потребителите надхвърля 100 милиона.
  • OAuth 2.0 осигурява сигурна оторизация с гранулирани обхвати на достъп.
  • Google Cloud гарантира синхронизация в реално време и достъп чрез REST API.
  • Интеграция изисква конфигуриране на Google APIs Console и свързване на SDK чрез build.gradle.
  • Recording API събира данни във фонов режим с минимална консумация на батерия до 2% на ден.

Ще разработим мобилно приложение под ключ

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също