Η πλατφόρμα Google Fit — το οικοσύστημα της Google για συλλογή, αποθήκευση και ανάλυση δεδομένων φυσικής δραστηριότητας και υγείας χρηστών Android. Σύμφωνα με το Google Developers, 2025, η πλατφόρμα συνδυάζει τα Fitness API, Sensors API και Sessions API σε μια ενιαία αρχιτεκτονική που συγχρονίζεται με το Google Cloud και είναι προσβάσιμη μέσω αιτημάτων REST. Ενιαίο προφίλ υγείας επιτρέπει στους χρήστες να ελέγχουν ποιες εφαρμογές έχουν πρόσβαση στα δεδομένα φυσικής κατάστασης και ευεξίας τους.
Κύρια
Το Google Fit είναι μια πλατφόρμα διαχείρισης υγείας που ξεκίνησε από την Google το 2014 στο συνέδριο I/O. Η πλατφόρμα παρέχει ένα ενοποιημένο API για ανάγνωση και εγγραφή δεδομένων φυσικής δραστηριότητας, επιτρέποντας στις εφαρμογές να ανταλλάσσουν πληροφορίες μέσω ενός κεντρικού αποθετηρίου στο cloud της Google.
Σε αντίθεση με ιδιόκτητες λύσεις, το Google Fit λειτουργεί στο λειτουργικό σύστημα Android και iOS μέσω REST API. Ο χρήστης μπορεί να συνδέσει βραχιόλια γυμναστικής, έξυπνα ρολόγια και εφαρμογές παρακολούθησης δραστηριότητας, και το Google Fit συγκεντρώνει όλα τα δεδομένα σε ένα ενιαίο προφίλ υγείας στο Google Cloud.
Σύμφωνα με το Google I/O 2024, η πλατφόρμα χρησιμοποιείται σε περισσότερες από 5000 εφαρμογές παγκοσμίως και ο αριθμός των ενεργών χρηστών ξεπερνά τα 100 εκατομμύρια. Η πλατφόρμα είναι ενσωματωμένη με το Wear OS και υποστηρίζει όλους τους δημοφιλείς ιχνηλάτες γυμναστικής μέσω εφαρμογών τρίτων.
Η αρχιτεκτονική του Google Fit είναι χτισμένη σε τρία επίπεδα: SDK πελάτη, αποθήκευση cloud Google Fitness Store και REST API για ενοποίηση διακομιστή. Το SDK πελάτη είναι διαθέσιμο για Android (Kotlin, Java) και iOS (Swift, Objective-C), καθώς και ένας web πελάτης μέσω JavaScript.
Τα δεδομένα οργανώνονται σε πηγές (DataSource) και σημεία δεδομένων (DataPoint). Κάθε πηγή αντιπροσωπεύει μια συσκευή ή εφαρμογή, και κάθε σημείο δεδομένων αντιπροσωπεύει μια μέτρηση με χρονική σήμανση. Ομάδες σημείων δεδομένων συνδυάζονται σε συνεδρίες — συνεχείς περιόδους δραστηριότητας με τύπο και διάρκεια.
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 Cloud με υποστήριξη τόσο για online όσο και για offline λειτουργία. Η εφαρμογή γράφει δεδομένα τοπικά και το Google Fit SDK τα συγχρονίζει αυτόματα με την αποθήκευση cloud όταν υπάρχει σύνδεση στο διαδίκτυο. Οι συγκρούσεις επιλύονται σύμφωνα με την αρχή της τελευταίας εγγραφής.
Κάθε τύπος δεδομένων έχει τυποποιημένη μορφή: βήματα — 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.
Το 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. Αυτό είναι χρήσιμο για πίνακες ελέγχου web analytics, εταιρικά προγράμματα γυμναστικής και ιατρικά συστήματα όπου απαιτείται κεντρική αποθήκευση δεδομένων υγείας εργαζομένων ή ασθενών.
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 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().
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 υποστηρίζει περισσότερους από 50 τύπους δεδομένων, συμπεριλαμβανομένων βημάτων, θερμίδων, καρδιακών παλμών, απόστασης, ταχύτητας, ύπνου, βάρους, ύψους, αρτηριακής πίεσης, επιπέδου γλυκόζης και θερμοκρασίας σώματος. Η πλήρης λίστα είναι διαθέσιμη στην τεκμηρίωση DataType για Android και REST API.
Ναι, για τη χρήση του Google Fit απαιτείται λογαριασμός Google. Ο χρήστης εξουσιοδοτείται μέσω Google Sign-In, μετά την οποία η εφαρμογή αποκτά πρόσβαση στο Fitness API με καθορισμένους τομείς. Χωρίς λογαριασμό Google η πλατφόρμα δεν είναι διαθέσιμη, καθώς όλα τα δεδομένα αποθηκεύονται στο Google Cloud.
Ναι, τα δεδομένα του Google Fit μπορούν να εξαχθούν μέσω του Google Takeout — η υπηρεσία επιτρέπει τη λήψη όλων των δεδομένων της πλατφόρμας σε μορφές JSON και CSV. Οι προγραμματιστές μπορούν να εξάγουν δεδομένα προγραμματιστικά μέσω REST API με κατάλληλο τομέα πρόσβασης.
Το Google Fit είναι μια cross-platform πλατφόρμα cloud που λειτουργεί σε Android, iOS και μέσω REST API, ενώ το HealthKit είναι δεσμευμένο στο οικοσύστημα Apple iOS και αποθηκεύει δεδομένα τοπικά στη συσκευή. Το Google Fit χρησιμοποιεί OAuth 2.0 για εξουσιοδότηση, το HealthKit χρησιμοποιεί άδειες συστήματος iOS.
Το Google Fit API έχει τα ακόλουθα όρια: 1000 αιτήματα ανά 100 δευτερόλεπτα ανά έργο, 1000 σημεία δεδομένων ανά αίτημα εγγραφής, μέγιστο χρονικό εύρος ανάγνωσης — 365 ημέρες ανά αίτημα. Για αύξηση ορίων πρέπει να ζητηθεί ποσόστωση μέσω του Google Cloud Console.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης