Google Fit — czym jest, architektura platformy i API

Autor: IT Sectr Opublikowano: 2026-03-25 Czas czytania: 8 min

Platforma Google Fit to ekosystem Google do zbierania, przechowywania i analizowania danych o aktywności fizycznej i zdrowiu użytkowników Androida. Według Google Developers, 2025, platforma łączy Fitness API, Sensors API i Sessions API w jedną architekturę, która synchronizuje się z Google Cloud i jest dostępna przez zapytania REST. Jednolity profil zdrowia pozwala użytkownikom kontrolować, które aplikacje mają dostęp do ich danych o kondycji i samopoczuciu.

Najważniejsze

  • Google Fit — platforma zdrowotna od Google, łącząca dane o aktywności fizycznej z różnych aplikacji.
  • Fitness API — główny interfejs do odczytu i zapisu danych o krokach, kaloriach i pulsie.
  • Sensors API — umożliwia odbieranie danych w czasie rzeczywistym z czujników urządzenia.
  • Sessions API — zarządza sesjami aktywności: treningami, spacerami, biegami.
  • Google Fit SDK jest dostępny dla Androida i iOS, a także przez REST API dla serwerów internetowych.

Czym jest Google Fit?

Google Fit to platforma zarządzania zdrowiem uruchomiona przez Google w 2014 roku na konferencji I/O. Platforma zapewnia jednolite API do odczytu i zapisu danych o aktywności fizycznej, umożliwiając aplikacjom wymianę informacji poprzez centralne repozytorium w chmurze Google.

W przeciwieństwie do rozwiązań proprietalnych, Google Fit działa na systemie operacyjnym Android i iOS przez REST API. Użytkownik może podłączyć opaski fitness, smartwatche i aplikacje do śledzenia aktywności, a Google Fit agreguje wszystkie dane w jeden profil zdrowia w Google Cloud.

Według Google I/O 2024, platforma jest używana w ponad 5000 aplikacjach na całym świecie, a liczba aktywnych użytkowników przekracza 100 milionów. Platforma jest zintegrowana z Wear OS i obsługuje wszystkie popularne trackery fitness poprzez aplikacje firm trzecich.

Architektura Google Fit

Architektura Google Fit opiera się na trzech poziomach: SDK klienckie, magazyn w chmurze Google Fitness Store i REST API do integracji serwerowej. SDK klienckie jest dostępne dla Androida (Kotlin, Java) i iOS (Swift, Objective-C), a także istnieje klient internetowy przez JavaScript.

Dane są zorganizowane w postaci źródeł (DataSource) i punktów danych (DataPoint). Każde źródło reprezentuje urządzenie lub aplikację, a każdy punkt danych to pojedynczy pomiar ze znacznikiem czasu. Grupy punktów danych są łączone w sesje — ciągłe okresy aktywności z typem i czasem trwania.

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)
        }
    }

Jak działa Google Fit

Google Fit wykorzystuje model synchronizacji przez Google Cloud z obsługą zarówno trybu online, jak i offline. Aplikacja zapisuje dane lokalnie, a Google Fit SDK automatycznie synchronizuje je z magazynem w chmurze przy połączeniu internetowym. Konflikty są rozwiązywane według zasady ostatniego zapisu.

Każdy typ danych ma standardowy format: kroki — TYPE_STEP_COUNT_DELTA, kalorie — TYPE_CALORIES_EXPENDED, puls — TYPE_HEART_RATE_BPM, dystans — TYPE_DISTANCE_DELTA. Dla typów niestandardowych można tworzyć własne DataType poprzez konsolę Google APIs z unikalną przestrzenią nazw.

Platforma obsługuje dwa tryby zapisu: aktywny — aplikacja jawnie wywołuje HistoryClient.insertData(), oraz pasywny — poprzez RecordingClient, który subskrybuje zbieranie danych w tle. Tryb pasywny jest wygodny dla aplikacji fitness: użytkownik uruchamia aplikację raz, a Google Fit automatycznie zbiera kroki, kalorie i dystans przy zminimalizowanej aplikacji bez ciągłej pracy procesora.

Według Google, platforma przetwarza ponad 2 miliardy punktów danych dziennie. Średnie opóźnienie synchronizacji wynosi 5–10 sekund przy aktywnym połączeniu, a w trybie tła synchronizacja odbywa się co 30 minut w celu oszczędzania baterii.

Zgoda użytkownika i bezpieczeństwo

Google Fit wykorzystuje OAuth 2.0 do autoryzacji z zakresami dostępu fitness.activity.read, fitness.activity.write, fitness.body.read i fitness.body.write. Aplikacja żąda tylko niezbędnych zakresów, a użytkownik potwierdza dostęp poprzez standardowe okno Google Sign-In z wyborem konta.

Użytkownik może w każdej chwili cofnąć dostęp poprzez Google Account Permissions lub aplikację Google Fit. Google surowo zabrania przekazywania danych o zdrowiu stronom trzecim bez wyraźnej zgody, a także wykorzystywania danych do celów reklamowych zgodnie z polityką Restricted Scopes.

API Google Fit

Google Fit udostępnia trzy główne API: Fitness API do odczytu i zapisu danych historycznych, Sensors API do strumieniowego przesyłania danych z czujników w czasie rzeczywistym oraz Sessions API do zarządzania sesjami aktywności. Każde API jest dostępne zarówno przez Android SDK, jak i przez zapytania REST.

Fitness API — główne API do pracy z danymi. Obsługuje operacje wsadowe: zapis do 1000 punktów danych w jednym wywołaniu, odczyt z filtrowaniem według zakresu czasowego, typu danych i źródła. Do agregacji danych używany jest DataSet z grupowaniem według wybranych metryk.

Sensors API umożliwia subskrypcję danych z czujników w czasie rzeczywistym — kroki, puls, przyspieszenie. Dane są dostarczane przez SensorEventListener z częstotliwością określoną przez typ czujnika i ustawienia aplikacji.

Oprócz trzech głównych API, Google Fit udostępnia Recording API do automatycznego zbierania danych bez konieczności utrzymywania aplikacji aktywnej. To API jest szczególnie cenne dla Wear OS: smartwatche mogą zbierać dane o pulsie i aktywności, a aplikacja na telefonie synchronizuje się z nimi przy połączeniu. Recording API wykorzystuje Google Fit Background Services, które są zoptymalizowane pod kątem minimalnego zużycia energii — do 2% baterii dziennie przy pasywnym zbieraniu kroków.

REST API Google Fit jest dostępne przez endpoint fitness.googleapis.com. REST API pozwala aplikacjom serwerowym odczytywać i zapisywać dane w imieniu użytkownika po autoryzacji OAuth. Jest to przydatne dla paneli analitycznych online, korporacyjnych programów fitness i systemów medycznych, gdzie wymagane jest centralne przechowywanie danych o zdrowiu pracowników lub pacjentów.

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

recordingClient.subscribe(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener {
        println("Subskrypcja aktywna")
    }

// Pobieranie danych historii
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("Kroki dzisiaj: $total")
    }

Integracja Google Fit w aplikacji

Integracja Google Fit rozpoczyna się od dodania zależności Google Fit SDK przez build.gradle: com.google.android.gms:play-services-fitness. Następnie należy skonfigurować konsolę Google APIs — utworzyć projekt, włączyć Fitness API i dodać dane uwierzytelniające OAuth 2.0 z prawidłowymi odciskami SHA-1.

Proces integracji obejmuje: inicjalizację GoogleSignIn z wymaganymi zakresami, utworzenie FitnessClient przez Fitness.getClient(), żądanie autoryzacji od użytkownika i wykonywanie operacji odczytu lub zapisu danych. Do zapisu w tle używany jest RecordingClient, który automatycznie zbiera dane nawet gdy aplikacja jest zminimalizowana. Google Fit automatycznie zarządza częstotliwością zbierania danych w zależności od poziomu baterii i aktywności użytkownika.

Według Google, aplikacje z integracją Google Fit wykazują o 35% wyższy poziom utrzymania użytkowników. Kluczowe kategorie aplikacji — trackery fitness, aplikacje do biegania, kolarstwa, jogi i kontroli wagi.

Ważne jest uwzględnienie wymogów prywatności: Google Fit wykorzystuje Restricted Scopes — specjalne zakresy dostępu wymagające osobnej weryfikacji aplikacji przez OAuth Verification. Deweloper musi opisać, jakie dane są zbierane, jak są wykorzystywane i jak długo przechowywane. Google wymaga również posiadania polityki prywatności i zgodności z programem API Services Terms of Service.

Praktyczny przykład zapisu

Do zapisu danych tworzy się DataSource z określeniem typu, urządzenia i aplikacji. Następnie formułuje się DataPoint ze znacznikiem czasu i wartościami. Wiele DataPoint jest łączonych w DataSet, który jest przekazywany do 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("Dane zapisane")
    }

Często zadawane pytania

Jakie dane obsługuje Google Fit?

Google Fit obsługuje ponad 50 typów danych, w tym kroki, kalorie, puls, dystans, prędkość, sen, wagę, wzrost, ciśnienie tętnicze, poziom glukozy i temperaturę ciała. Pełna lista jest dostępna w dokumentacji DataType dla Androida i REST API.

Czy potrzebne jest konto Google do Google Fit?

Tak, do pracy z Google Fit wymagane jest konto Google. Użytkownik autoryzuje się przez Google Sign-In, po czym aplikacja uzyskuje dostęp do Fitness API z określonymi zakresami. Bez konta Google platforma jest niedostępna, ponieważ wszystkie dane są przechowywane w Google Cloud.

Czy można wyeksportować dane z Google Fit?

Tak, dane Google Fit można wyeksportować przez Google Takeout — usługa umożliwia pobranie wszystkich danych platformy w formatach JSON i CSV. Deweloperzy mogą programowo eksportować dane przez REST API z odpowiednim zakresem dostępu.

Czym Google Fit różni się od HealthKit?

Google Fit to wieloplatformowa chmurowa platforma działająca na Androidzie, iOS i przez REST API, podczas gdy HealthKit jest powiązany z ekosystemem Apple iOS i przechowuje dane lokalnie na urządzeniu. Google Fit wykorzystuje OAuth 2.0 do autoryzacji, a HealthKit — systemowe uprawnienia iOS.

Jakie są limity Google Fit API?

Google Fit API ma następujące limity: 1000 zapytań na 100 sekund na projekt, 1000 punktów danych w jednym żądaniu zapisu, maksymalny zakres czasowy odczytu — 365 dni w jednym żądaniu. Aby zwiększyć limity, należy wnioskować o przydział przez Google Cloud Console.

Podsumowanie

  • Google Fit — wieloplatformowa chmurowa platforma zdrowotna od Google, uruchomiona w 2014 roku.
  • Platforma udostępnia trzy API: Fitness, Sensors i Sessions dla różnych scenariuszy pracy.
  • Około 5000 aplikacji korzysta z Google Fit, a liczba użytkowników przekracza 100 milionów.
  • OAuth 2.0 zapewnia bezpieczną autoryzację z granularnymi zakresami dostępu.
  • Google Cloud gwarantuje synchronizację w czasie rzeczywistym i dostęp przez REST API.
  • Integracja wymaga konfiguracji Google APIs Console i podłączenia SDK przez build.gradle.
  • Recording API zbiera dane w tle przy minimalnym zużyciu baterii do 2% dziennie.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również