Project requirements
iOS
Applies also to Flutter and React Native projects.
| Parameter | Requirement |
|---|---|
| Minimum deployment target | iOS 15.1 |
If you are integrating on React Native or Flutter, or integrating on Native iOS via CocoaPods,
make sure you have updated the minimum iOS deployment target in:
- your
Podfile; and - your iOS App Target.
Podfile
Android
Applies also to Flutter, React Native and Expo projects.
| Parameter | Requirement |
|---|---|
| Minimum SDK Level | 26 (Health Connect), 29 (Samsung Health) |
| Compile SDK Level | 36 |
| Kotlin compiler version | 2.1.20 or above |
| Android Gradle Plugin version | 8.9.1 or above |
| Gradle version | 8.11.1 or above |
Flutter
| Parameter | Requirement |
|---|---|
| Flutter SDK | 3.13 or above |
React Native
Expo
| Parameter | Requirement |
|---|---|
| Expo | 53 or above |
Bare React Native projects
| Parameter | Requirement |
|---|---|
| React Native Core | 0.72.0 or above |
| Node.js | 20.0 or above |
Setup package dependencies
iOS
Junction Mobile SDKs are available through both Swift Package Manager and CocoaPods.Swift Package Manager
Add the vital-ios package (https://github.com/tryVital/vital-ios) as a dependency of your project.
Link VitalHealthKit and VitalDevices as appropriate. Note that VitalCore is mandatory.
CocoaPods
Add the following declarations to your app target in your Podfile:Android
Make sure Maven Central is included in the list of repositories in yourbuild.gradle.
React Native
Expo projects
Installation
Only Expo Prebuild is supported.
Expo Go is incompatible, since it supports neither native library binaries, nor Expo Config Plugin.
npx expo install.
plugins array of your Expo app configuration file (app.json or app.config.js):
app.json/app.config.js
Android specific configuration
In your Expo app configuration file (app.json or app.config.js), use the expo-build-properties config plugin to customize the minimum, target and compile Android SDK version:
app.json/app.config.js
Refer to Project Requirements > Android for the constraints on these SDK version levers.
Customizations
You can customize the integration by passing additional properties to the Expo config plugin:| Key | Value |
|---|---|
healthSharePermission (string) | Sets the iOS NSHealthShareUsageDescription permission message to the Info.plist. Defaults to Allow $(PRODUCT_NAME) to check health info |
app.json/app.config.js
After making changes to your Config Plugin settings, you must re-run Expo Prebuild to re-generate your iOS and Android projects.
Bare React Native projects
Install Junction SDK packages through NPM or Yarn:pod install on your iOS project might error due to version lock conflicts on the Junction iOS libraries.
This usually happens after you have bumped the React Native SDK package versions.Use pod update to resolve the conflict:Flutter
Add Junction SDK packages to yourpubspec.yaml:
pod install on your iOS project might error due to version lock conflicts on the Junction iOS libraries.
This usually happens after you have bumped the Flutter SDK package versions.Use pod update to resolve the conflict: