Package Exports
- react-native-google-fit
- react-native-google-fit/index.android.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-native-google-fit) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
react-native-google-fit
A React Native bridge module for interacting with Google Fit on Android.
⚠️ Important Notice: Google has deprecated the Google Fit API and is transitioning to Health Connect. While the Google Fit API remains available, we are committed to maintaining this library and bringing it up to the latest standards. We will continue to support this library as long as the API is accessible and will provide migration guidance when Health Connect integration becomes necessary.
Features
- ✅ Step counting and activity tracking
- ✅ Body measurements (weight, height)
- ✅ Heart rate & blood pressure monitoring
- ✅ Blood glucose tracking
- ✅ Sleep tracking with stages
- ✅ Nutrition & hydration logging
- ✅ Workout sessions with activity types
- ✅ Background recording without Google Fit app
- ✅ Expo support via config plugin
Documentation
- 📦 Installation Guide - Setup for Expo and React Native CLI
- 📖 API Reference - Complete API documentation
- ❓ F.A.Q. - Frequently asked questions
- 📝 Changelog - Version history
- 💬 Gitter Chat - Ask questions, get help!
Quick Start
Installation
# Expo
npx expo install react-native-google-fit
# React Native CLI
npm install react-native-google-fit --save
# or
yarn add react-native-google-fit→ Full installation instructions
Basic Usage
import GoogleFit, { Scopes } from 'react-native-google-fit'
// 1. Authorize
const options = {
scopes: [
Scopes.FITNESS_ACTIVITY_READ,
Scopes.FITNESS_ACTIVITY_WRITE,
Scopes.FITNESS_BODY_READ,
Scopes.FITNESS_BODY_WRITE,
],
}
const authResult = await GoogleFit.authorize(options)
// 2. Get daily steps
const steps = await GoogleFit.getDailyStepCountSamples({
startDate: "2024-01-01T00:00:00.000Z",
endDate: new Date().toISOString()
})
// 3. Save weight
await GoogleFit.saveWeight({
value: 75.5,
date: new Date().toISOString(),
unit: "kg"
})Example App
Check out the example app repository for a complete working example.
API Categories
🏃 Activity & Steps
Track steps, distance, move minutes, and calories burned.
📏 Body Measurements
Record and retrieve weight and height data.
❤️ Heart Rate & Blood Pressure
Monitor cardiovascular health metrics.
🩸 Blood Glucose & Vitals
Track blood glucose, body temperature, and oxygen saturation.
🍎 Nutrition & Hydration
Log food intake and water consumption.
😴 Sleep
Record sleep sessions with stages (light, deep, REM).
🏋️ Workouts
Save and retrieve workout sessions with activity types.
Requirements
- Android: SDK 16+ (React Native 0.60+)
- Google Play Services: Auth & Fitness APIs
- OAuth 2.0: Configured in Google Cloud Console
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for details.
Troubleshooting
Common Issues
"Authorization Failed"
- Verify SHA-1 certificate matches Google Cloud Console
- Check package name is correct
- Add test user email in OAuth consent screen
"Google Play Services not available"
- Update Google Play Services on device/emulator
License
MIT © StasDoskalenko
Support
- 💬 Gitter Community
- 🐛 Report Issues
- 📧 Email: [maintainer email]
Acknowledgements
Thanks to all contributors who have helped make this library better!