A React Native library for reading health data from Apple HealthKit and Google Fit.
react-native-fitness is a cross-platform React Native library that provides a unified JavaScript API to access health and fitness data from Apple HealthKit on iOS and Google Fit on Android. It enables developers to integrate health-tracking features like step counts, distance, calories, heart rate, and sleep analysis into mobile apps without dealing with platform-specific complexities.
React Native developers building mobile applications that require health and fitness data integration, such as fitness trackers, wellness apps, or health monitoring tools.
Developers choose react-native-fitness because it abstracts the platform-specific details of HealthKit and Google Fit into a simple, consistent interface, reducing development time and complexity for cross-platform health data access.
A React Native module to interact with Apple Healthkit and Google Fit.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Abstracts Apple HealthKit and Google Fit into a consistent JavaScript interface, reducing the need for platform-specific code, as shown in the simple API methods like getSteps and getDistances.
Supports key fitness metrics including steps, distance, calories, heart rate, and sleep analysis, enabling broad health-tracking features without custom implementations.
Provides methods like isAuthorized and requestPermissions to handle health data permissions consistently, with clear error handling for iOS and Android quirks documented in the README.
Allows subscribing to step updates on Android without requiring Google Fit installed, as mentioned in the subscribeToSteps API, enhancing user convenience for fitness apps.
Features like logout, disconnect, and real-time subscriptions are Android-only, and sleep analysis has limited support on Android (requires Android N or above), breaking cross-platform parity.
The isAuthorized method returns an error on iOS < 12.0, and requestPermissions always returns true on iOS due to Apple's privacy model, as admitted in the API documentation, complicating permission logic.
Requires manual configuration steps, such as OAuth setup for Google Fit and native project edits for iOS, which can be error-prone and time-consuming compared to simpler React Native libraries.
The README is basic and relies on community PRs for improvements, lacking detailed examples or troubleshooting guides, which could hinder adoption and debugging.