Платформа Google Fit — экосистема Google для сбора, хранения и анализа данных о физической активности и здоровье пользователей Android. По данным Google Developers, 2025, платформа объединяет Fitness API, Sensors API и Sessions API в единую архитектуру, которая синхронизируется с Google Cloud и доступна через REST-запросы. Единый профиль здоровья позволяет пользователям контролировать, какие приложения имеют доступ к их данным о фитнесе и самочувствии.
Главное
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 построена на трёх уровнях: клиентский SDK, облачное хранилище Google Fitness Store и REST API для серверной интеграции. Клиентский SDK доступен для Android (Kotlin, Java) и iOS (Swift, Objective-C), а также есть веб-клиент через 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 с поддержкой как онлайн, так и офлайн-режимов. Приложение записывает данные локально, а 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.
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-авторизации. Это полезно для веб-панелей аналитики, корпоративных фитнес-программ и медицинских систем, где требуется централизованное хранение данных о здоровье сотрудников или пациентов.
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 credentials с правильными 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 — кроссплатформенная облачная платформа, работающая на 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 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также