Introduction
The Open Wearables React Native SDK (open-wearables-react-native-sdk) enables secure background synchronization of health data from Apple HealthKit (iOS), Samsung Health, and Health Connect (Android) to the Open Wearables platform.
The SDK is built with the Expo Module API enabling install the app in Expo Project as well as in React Native CLI projects.
On iOS, the React Native SDK is a wrapper around the native iOS SDK (open_wearables_ios_sdk). On Android, it wraps the native Android SDK (open_wearables_android_sdk). This means all the core sync logic — background execution, streaming uploads, secure storage, and retry mechanisms — is handled by the native implementations under the hood. The React Native layer provides a convenient TypeScript API for cross-platform apps.
React Native SDK Repository
View source code, report issues, and contribute to the React Native SDK.
Native iOS SDK
See the native iOS SDK documentation for the underlying iOS implementation.
Native Android SDK
See the native Android SDK documentation for the underlying Android implementation.
Features
- Cross-Platform - Single TypeScript API for iOS (HealthKit) and Android (Samsung Health, Health Connect)
- Background Sync - Health data syncs even when your app is in the background
- Incremental Updates - Only syncs new data using anchored queries
- Secure Storage - Credentials stored in iOS Keychain / Android EncryptedSharedPreferences
- Dual Authentication - Token-based auth with auto-refresh or API key authentication
- Resumable Sessions - Sync sessions survive app restarts
- Wide Data Support - Steps, heart rate, workouts, sleep, and 40+ data types
- Provider Selection - Choose between Samsung Health and Health Connect on Android
Requirements
- iOS
- Android
- React Native
Installation
1
Add the dependency
Currently, the SDK is only available locally. You can install it using the following command from the project root folder:When we publish the package to npm (not available yet), you will use the following command:
2
Run the app
Depending if you are using Expo or React Native CLI, follow the instructions below:If your project does not yet contain native directories (ios/ and android/), Expo will automatically generate them.You can also generate them manually using:or manually:
Using Expo
Expo projects using the Expo Modules API automatically link native dependencies. After installing the package, simply run your project.Using React Native CLI
For bare React Native projects, you must ensure that you have installed and configured the expo package before continuing. After installing the package, install the iOS CocoaPods dependencies:3
Config Plugin (optional)
You can customize the permission messages displayed to users by configuring the plugin in your app.json or app.config.js.
Quick Start
Here’s the minimal code to get health sync working:Events
Subscribe to native SDK events using the standard Expo module event emitter:Documentation
Integration Guide
Complete guide to integrating the SDK including authentication flow, backend setup, and best practices.
Troubleshooting
Common issues and their solutions for iOS and Android.
Supported Health Data Types
The SDK supports 40+ health data types across multiple categories:Activity & Fitness
Activity & Fitness
Heart & Vitals
Heart & Vitals
Body Measurements
Body Measurements
Blood & Metabolic
Blood & Metabolic
Sleep & Mindfulness
Sleep & Mindfulness
Reproductive Health
Reproductive Health
Nutrition
Nutrition
Workouts
Workouts
Not all data types are available on all providers. Samsung Health supports a subset of types compared to Health Connect and HealthKit. See the Android SDK docs for provider-specific availability.
Next Steps
Integration Guide
Complete step-by-step integration guide.
API Reference
Full API documentation on GitHub.

