README
API-SDK-RN
Installation
Install the [react-native-api-sdk-rn'] package from npm:
- Run
npm install react-native-api-sdk-rn --save
React-native <= 0.60
- Run
react-native link react-native-api-sdk-rn
React-native >= 0.60
Run cd ./ios && pod install
Update
./ios/<Project Name>/info.plist
in your React Native project
<key>NSHealthShareUsageDescription</key>
<string>Read and understand health data.</string>
<key>NSHealthUpdateUsageDescription</key>
<string>Share workout data with other apps.</string>
Get Started
Initialize Healthkit. This will show the Healthkit permissions prompt for any read/write permissions set in the required options
object.
initHealthKit
requires an options object with Healthkit permission settings
Example (reading heart rate)
import {
POPINApiSdkRn,
backgroundTask,
subscribeToStepsObserver,
getHeartRate} from 'react-native-api-sdk-rn';
let options = {
permissions: {
read: ["Height", "Weight", "ActiveEnergyBurned", "BodyFatPercentage", "BodyMassIndex", "BasalEnergyBurned", "DistanceCycling", "DistanceWalkingRunning", "FlightsClimbed", "HeartRate", "StepCount"],
write: ["Height", "Weight", "BodyFatPercentage", "BodyMassIndex", "DistanceCycling", "DistanceWalkingRunning", "FlightsClimbed", "HeartRate", "StepCount"]
},
observers: [
{ type: "StepCount" },
{ type: "Weight" }
]
}
POPINApiSdkRn.initHealthKit(options, (err, results) => {
if (err) {
console.log("error initializing Healthkit: ", err);
return;
}
let date = "2020-01-16" // This format must be provided. (YYYY-MM-DD)
getHeartRate(date)
.then(res => alert(JSON.stringify(res)))
.catch(err => alert(JSON.stringify(err)))
//run background task
// backgroundTask();
//subscribe to step observer
//subscribeToStepsObserver();
});
List of readData actions
getBodyMaxIndex()
getHeight()
getWeight()
getBodyFatPercentage()
getActiveEnergyBurned()
getBasalEnergyBurned()
getDistanceCycling()
getDistanceWalkingRunning()
getFlightsClimbed()
getHeartRate()
getSteps()
ReadData actions options
getBodyMaxIndex() => No arguments. getHeight() => No arguments. getWeight() => No arguments. getBodyFatPercentage() => No arguments. getActiveEnergyBurned(startDate, endDate) => Accepts 2 arguments, startDate (required) and endDate (optional; default now). getBasalEnergyBurned(startDate, endDate) => Accepts 2 arguments, startDate (required) and endDate (optional; default now). getDistanceCycling(date, unit) => Accepts a date as argument (optional; default now) and a unit (defaults to meter) getDistanceWalkingRunning(date, unit) => Accepts a date as argument (optional; default now) and a unit (defaults to meter) getFlightsClimbed(date) => Accepts a date as argument (optional; default now) getHearthRate(startDate, endDate) => Accepts 2 arguments, startDate (required) and endDate (optional; default now). getSteps(date) => Accepts a date as argument