Platforma Google Fit — ecosistemul Google pentru colectarea, stocarea și analizarea datelor despre activitatea fizică și sănătatea utilizatorilor Android. Potrivit Google Developers, 2025, platforma combină Fitness API, Sensors API și Sessions API într-o arhitectură unică, care se sincronizează cu Google Cloud și este accesibilă prin cereri REST. Profilul unic de sănătate permite utilizatorilor să controleze ce aplicații au acces la datele lor de fitness și stare de bine.
Principalele
Google Fit este o platformă de gestionare a sănătății lansată de Google în 2014 la conferința I/O. Platforma oferă un API unic pentru citirea și scrierea datelor despre activitatea fizică, permițând aplicațiilor să facă schimb de informații printr-un depozit central în cloud-ul Google.
Spre deosebire de soluțiile proprietare, Google Fit funcționează pe sistemul de operare Android și iOS prin REST API. Utilizatorul poate conecta brățări fitness, ceasuri inteligente și aplicații de urmărire a activității, iar Google Fit agregează toate datele într-un profil unic de sănătate în Google Cloud.
Potrivit Google I/O 2024, platforma este utilizată în peste 5000 de aplicații în întreaga lume, iar numărul de utilizatori activi depășește 100 de milioane. Platforma este integrată cu Wear OS și suportă toate trackerele populare de fitness prin aplicații terțe.
Arhitectura Google Fit este construită pe trei niveluri: SDK client, stocarea în cloud Google Fitness Store și REST API pentru integrare server. SDK client este disponibil pentru Android (Kotlin, Java) și iOS (Swift, Objective-C), precum și un client web prin JavaScript.
Datele sunt organizate sub formă de surse (DataSource) și puncte de date (DataPoint). Fiecare sursă reprezintă un dispozitiv sau o aplicație, iar fiecare punct de date reprezintă o măsurătoare cu marcaj temporal. Grupurile de puncte de date sunt combinate în sesiuni — perioade continue de activitate cu tip și durată.
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 utilizează un model de sincronizare prin Google Cloud cu suport atât pentru modul online, cât și offline. Aplicația scrie datele local, iar Google Fit SDK le sincronizează automat cu stocarea în cloud atunci când există conexiune la internet. Conflictele se rezolvă conform principiului ultimei scrieri.
Fiecare tip de date are un format standardizat: pași — TYPE_STEP_COUNT_DELTA, calorii — TYPE_CALORIES_EXPENDED, puls — TYPE_HEART_RATE_BPM, distanță — TYPE_DISTANCE_DELTA. Pentru tipuri personalizate se pot crea DataType proprii prin consola Google APIs cu un spațiu de nume unic.
Platforma suportă două moduri de scriere: activ — aplicația apelează explicit HistoryClient.insertData(), și pasiv — prin RecordingClient, care se abonează la colectarea datelor în fundal. Modul pasiv este convenabil pentru aplicațiile fitness: utilizatorul pornește aplicația o dată, iar Google Fit colectează automat pașii, caloriile și distanța când aplicația este minimizată, fără funcționarea continuă a procesorului.
Potrivit Google, platforma procesează peste 2 miliarde de puncte de date zilnic. Întârzierea medie de sincronizare este de 5–10 secunde la conexiune activă, iar în modul fundal sincronizarea are loc la fiecare 30 de minute pentru economisirea bateriei.
Google Fit utilizează OAuth 2.0 pentru autorizare cu domeniile de acces fitness.activity.read, fitness.activity.write, fitness.body.read și fitness.body.write. Aplicația solicită doar domeniile necesare, iar utilizatorul confirmă accesul prin dialogul standard Google Sign-In cu selectarea contului.
Utilizatorul poate oricând revoca accesul prin Google Account Permissions sau aplicația Google Fit. Google interzice strict transmiterea datelor de sănătate către terți fără consimțământ explicit, precum și utilizarea datelor în scopuri publicitare conform politicii Restricted Scopes.
Google Fit oferă trei API-uri principale: Fitness API pentru citirea și scrierea datelor istorice, Sensors API pentru fluxul de date în timp real de la senzori și Sessions API pentru gestionarea sesiunilor de activitate. Fiecare API este disponibil atât prin Android SDK, cât și prin cereri REST.
Fitness API — API-ul principal pentru lucrul cu datele. Suportă operațiuni în lot: scrierea a până la 1000 de puncte de date într-un singur apel, citirea cu filtrare după interval temporal, tip de date și sursă. Pentru agregarea datelor se utilizează DataSet cu grupare după metricile selectate.
Sensors API permite abonarea la datele senzorilor în timp real — pași, puls, accelerație. Datele sunt livrate prin SensorEventListener cu frecvența determinată de tipul senzorului și setările aplicației.
Pe lângă cele trei API-uri principale, Google Fit oferă Recording API pentru colectarea automată a datelor fără a fi necesară menținerea aplicației active. Acest API este deosebit de valoros pentru Wear OS: ceasurile inteligente pot colecta date despre puls și activitate, iar aplicația de pe telefon se sincronizează cu ele la conectare. Recording API utilizează Google Fit Background Services, optimizate pentru consum minim de energie — până la 2% baterie pe zi la colectarea pasivă a pașilor.
REST API Google Fit este accesibil prin endpoint-ul fitness.googleapis.com. REST API permite aplicațiilor server să citească și să scrie date în numele utilizatorului după autorizarea OAuth. Acest lucru este util pentru panouri de analiză web, programe corporative de fitness și sisteme medicale unde este necesară stocarea centralizată a datelor de sănătate ale angajaților sau pacienților.
val recordingClient = Fitness
.getRecordingClient(activity, googleSignInAccount)
recordingClient.subscribe(DataType.TYPE_STEP_COUNT_DELTA)
.addOnSuccessListener {
println("Abonament activ")
}
// Obținerea datelor istorice
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("Pași astăzi: $total")
}
Integrarea Google Fit începe cu adăugarea dependințelor Google Fit SDK prin build.gradle: com.google.android.gms:play-services-fitness. Apoi este necesară configurarea consolei Google APIs — crearea unui proiect, activarea Fitness API și adăugarea acreditărilor OAuth 2.0 cu amprentele corecte SHA-1.
Procesul de integrare include: inițializarea GoogleSignIn cu domeniile necesare, crearea FitnessClient prin Fitness.getClient(), solicitarea autorizării de la utilizator și efectuarea operațiunilor de citire sau scriere a datelor. Pentru scrierea în fundal se utilizează RecordingClient, care colectează automat date chiar și când aplicația este minimizată. Google Fit gestionează automat frecvența colectării datelor în funcție de nivelul bateriei și activitatea utilizatorului.
Potrivit Google, aplicațiile cu integrare Google Fit arată o rată de retenție a utilizatorilor cu 35% mai mare. Categoriile cheie de aplicații — trackere fitness, aplicații pentru alergare, ciclism, yoga și controlul greutății.
Este important să se țină cont de cerințele de confidențialitate: Google Fit utilizează Restricted Scopes — domenii speciale de acces care necesită verificare separată a aplicației prin OAuth Verification. Dezvoltatorul trebuie să descrie ce date sunt colectate, cum sunt utilizate și cât timp sunt stocate. Google solicită, de asemenea, existența unei politici de confidențialitate și conformitatea cu programul API Services Terms of Service.
Pentru scrierea datelor se creează o DataSource cu specificarea tipului, dispozitivului și aplicației. Apoi se formează un DataPoint cu marcaj temporal și valori. Mai multe DataPoint-uri sunt combinate într-un DataSet, care este transmis către HistoryClient.write().
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("Date salvate")
}
Întrebări frecvente
Google Fit suportă peste 50 de tipuri de date, inclusiv pași, calorii, puls, distanță, viteză, somn, greutate, înălțime, tensiune arterială, nivel de glucoză și temperatură corporală. Lista completă este disponibilă în documentația DataType pentru Android și REST API.
Da, pentru a lucra cu Google Fit este necesar un cont Google. Utilizatorul se autentifică prin Google Sign-In, după care aplicația obține acces la Fitness API cu domeniile specificate. Fără un cont Google platforma este indisponibilă, deoarece toate datele sunt stocate în Google Cloud.
Da, datele Google Fit pot fi exportate prin Google Takeout — serviciul permite descărcarea tuturor datelor platformei în formatele JSON și CSV. Dezvoltatorii pot exporta datele programatic prin REST API cu domeniul de acces corespunzător.
Google Fit este o platformă cloud cross-platform care funcționează pe Android, iOS și prin REST API, în timp ce HealthKit este legat de ecosistemul Apple iOS și stochează datele local pe dispozitiv. Google Fit utilizează OAuth 2.0 pentru autorizare, iar HealthKit — permisiunile de sistem iOS.
Google Fit API are următoarele limite: 1000 de cereri la 100 de secunde per proiect, 1000 de puncte de date per cerere de scriere, intervalul maxim de citire — 365 de zile per cerere. Pentru creșterea limitelor este necesară solicitarea unei cote prin Google Cloud Console.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și