From b198cbd6cb838ab52836e51786aa96ac26cbfc58 Mon Sep 17 00:00:00 2001 From: Terrillo Walls Date: Sun, 17 Sep 2017 15:56:44 -0500 Subject: [PATCH] Docs v2 (#2) * Wiki links * Permission table update * Deleted Images * Permissions & Units update * Supported Apple Permissions * Supported Apple Permissions 2 --- Constants/Permissions.js | 33 + Constants/Units.js | 27 + README.md | 997 +++--------------------------- constants.js | 68 -- images/Capabilities_HealthKit.png | Bin 105075 -> 0 bytes index.js | 8 +- package.json | 2 +- 7 files changed, 166 insertions(+), 969 deletions(-) create mode 100644 Constants/Permissions.js create mode 100644 Constants/Units.js delete mode 100644 constants.js delete mode 100644 images/Capabilities_HealthKit.png diff --git a/Constants/Permissions.js b/Constants/Permissions.js new file mode 100644 index 0000000..927fe4b --- /dev/null +++ b/Constants/Permissions.js @@ -0,0 +1,33 @@ +/** + * Apple Health Permissions + * https://github.com/terrillo/rn-apple-healthkit#permissions + * @type {Object} + */ +export const Permissions = { + ActiveEnergyBurned: "ActiveEnergyBurned", + AppleExerciseTime: "AppleExerciseTime", + BasalEnergyBurned: "BasalEnergyBurned", + BiologicalSex: "BiologicalSex", + BloodGlucose: "BloodGlucose", + BloodPressureDiastolic: "BloodPressureDiastolic", + BloodPressureSystolic: "BloodPressureSystolic", + BodyFatPercentage: "BodyFatPercentage", + BodyMass: "BodyMass", + BodyMassIndex: "BodyMassIndex", + BodyTemperature: "BodyTemperature", + DateOfBirth: "DateOfBirth", + DietaryEnergy: "DietaryEnergy", + DistanceCycling: "DistanceCycling", + DistanceWalkingRunning: "DistanceWalkingRunning", + FlightsClimbed: "FlightsClimbed", + HeartRate: "HeartRate", + Height: "Height", + LeanBodyMass: "LeanBodyMass", + MindfulSession: "MindfulSession", + NikeFuel: "NikeFuel", + RespiratoryRate: "RespiratoryRate", + SleepAnalysis: "SleepAnalysis", + StepCount: "StepCount", + Steps: "Steps", + Weight: "Weight" +} diff --git a/Constants/Units.js b/Constants/Units.js new file mode 100644 index 0000000..0eb471a --- /dev/null +++ b/Constants/Units.js @@ -0,0 +1,27 @@ +/** + * Units + * https://github.com/terrillo/rn-apple-healthkit#units + * @type {Object} + */ +export const Units = { + bpm: "bpm", + calorie: "calorie", + celsius: "celsius", + count: "count", + day: "day", + fahrenheit: "fahrenheit", + foot: "foot", + gram: "gram", + hour: "hour", + inch: "inch", + joule: "joule", + meter: "meter", + mgPerdL: "mgPerdL", + mile: "mile", + minute: "minute", + mmhg: "mmhg", + mmolPerL: "mmolPerL", + percent: "percent", + pound: "pound", + second: "second" +} diff --git a/README.md b/README.md index c4fb2b7..4a1bb99 100644 --- a/README.md +++ b/README.md @@ -2,48 +2,7 @@ # React Native Apple Healthkit A React Native bridge module for interacting with [Apple Healthkit] data. -## Table of Contents - * [Getting Started](#getting-started) - * [Installation](#installation) - * [Usage](#usage) - * [Documentation](#documentation) - * [Permissions](#permissions) - * [Methods](#methods) - * [isAvailable](#isavailable) - * [initHealthKit](#initHealthKit) - * [getBiologicalSex](#getbiologicalsex) - * [getDateOfBirth](#getdateofbirth) - * [getStepCount](#getstepcount) - * [getDailyStepCountSamples](#getdailystepcountsamples) - * [initStepCountObserver](#initstepcountobserver) - * [saveSteps](#savesteps) - * [getDistanceWalkingRunning](#getdistancewalkingrunning) - * [getDistanceCycling](#getdistancecycling) - * [getFlightsClimbed](#getflightsclimbed) - * [getLatestWeight](#getlatestweight) - * [getWeightSamples](#getweightsamples) - * [saveWeight](#saveweight) - * [getLatestHeight](#getlatestheight) - * [getHeightSamples](#getheightsamples) - * [saveHeight](#saveheight) - * [getLatestBmi](#getlatestbmi) - * [saveBmi](#savebmi) - * [getLatestBodyFatPercentage](#getlatestbodyfatpercentage) - * [getLatestLeanBodyMass](#getlatestleanbodymass) - * [getHeartRateSamples](#getheartratesamples) - * [getBodyTemperatureSamples](#getbodytemperaturesamples) - * [getBloodPressureSamples](#getbloodpressuresamples) - * [getRespiratoryRateSamples](#getrespiratoryratesamples) - * [getBloodGlucoseSamples](#getbloodglucosesamples) - * [getSleepSamples](#getsleepsamples) - * [saveMindfulSession](#saveMindfulSession) - -## References -- Apple Healthkit Documentation [https://developer.apple.com/Healthkit/](https://developer.apple.com/Healthkit/) - -## Getting started - -### Installation +## Installation Install the [rn-apple-healthkit] package from npm: @@ -58,7 +17,7 @@ Update `info.plist` in your React Native project Share workout data with other apps. ``` -### Manual Installation +## Manual Installation 1. Run `npm install rn-apple-healthkit --save` 2. In XCode, in the project navigator, right click `Libraries` ➜ `Add Files to [your project's name]` @@ -69,84 +28,107 @@ Update `info.plist` in your React Native project ![](https://i.imgur.com/eOCCCyv.png "Xcode Capabilities Section") 7. Compile and run -### Usage -Just `import` the `rn-apple-healthkit` module and you're ready to go! +## Get Started +Initialize Healthkit. This will show the Healthkit permissions prompt for any read/write permissions set in the required `options` object. -```javascript -import AppleHealthkit from 'rn-apple-healthkit'; +Due to Apple's privacy model if an app user has previously denied a specific permission then they can not be prompted again for that same permission. The app user would have to go into the Apple Health app and grant the permission to your react-native app under *sources* tab. + +For any data that is read from Healthkit the status/error is the same for both. This privacy restriction results in having no knowledge of whether the permission was denied (make sure it's added to the permissions options object), or the data for the specific request was nil (ex. no steps recorded today). +For any data written to Healthkit an authorization error can be caught. If an authorization error occurs you can prompt the user to set the specific permission or add the permission to the options object if not present. + +If new read/write permissions are added to the options object then the app user will see the Healthkit permissions prompt with the new permissions to allow. + +`initHealthKit` requires an options object with Healthkit permission settings +```javascript let options = { permissions: { read: ["Height", "Weight", "StepCount", "DateOfBirth", "BodyMassIndex"], write: ["Weight", "StepCount", "BodyMassIndex"] } }; -AppleHealthKit.isAvailable((err: Object, available: boolean) => { - AppleHealthkit.initHealthKit(options: Object, (err: Object, results: Object) => { - if (err) { - console.log("error initializing Healthkit: ", err); - return; - } - // Healthkit initialized... - }); -}); - ``` -When the module has been successfully initialized you can read and write Healthkit data - ```javascript -import AppleHealthkit from 'rn-apple-healthkit'; - -AppleHealthkit.initHealthKit(null: Object, (err: string, results: Object) => { - - ... +import AppleHealthKit from 'rn-apple-healthkit'; - AppleHealthkit.getLatestWeight(null, (err: Object, weight: Object) => { - if(err){ - console.log("error getting current weight: ", err); - return; - } - // use weight.value - }); +AppleHealthKit.initHealthKit(options: Object, (err: string, results: Object) => { + if (err) { + console.log("error initializing Healthkit: ", err); + return; + } - ... + // Height Example + AppleHealthKit.getDateOfBirth(null, (err: Object, results: Object) => { + if (this._handleHealthkitError(err, 'getDateOfBirth')) { + return; + } + console.log(results) + }); - let options = { - value: 200 - }; - AppleHealthkit.saveWeight(options: Object, (err: Object, results: Object) => { - if (err) { - console.log("error saving weight to Healthkit: ", err); - return; - } - // weight successfully saved - }); +}); +``` +```javascript +{ + value: '1986-09-01T00:00:00.000-0400', + age: 29 } - - ``` - -## Documentation - -### Permissions +## Wiki + * [Installation](https://github.com/terrillo/rn-apple-healthkit/wiki/Install) + * [Documentation](#documentation) + * [Permissions](#permissions) + * [Units](#units) + * Base Methods + * [isAvailable](https://github.com/terrillo/rn-apple-healthkit/wiki/isAvailable()) + * [initHealthKit](https://github.com/terrillo/rn-apple-healthkit/wiki/initHealthKit()) + * Realtime Methods + * [initStepCountObserver](https://github.com/terrillo/rn-apple-healthkit/wiki/initStepCountObserver()) + * Read Methods + * [getBiologicalSex](https://github.com/terrillo/rn-apple-healthkit/wiki/getBiologicalSex()) + * [getBloodGlucoseSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getbloodglucosesamples()) + * [getBloodPressureSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getbloodpressuresamples()) + * [getBodyTemperatureSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getbodytemperaturesamples()) + * [getDailyStepCountSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getDailyStepCountSamples()) + * [getDateOfBirth](https://github.com/terrillo/rn-apple-healthkit/wiki/getDateOfBirth()) + * [getDistanceCycling](https://github.com/terrillo/rn-apple-healthkit/wiki/getdistancecycling()) + * [getDistanceWalkingRunning](https://github.com/terrillo/rn-apple-healthkit/wiki/getDistanceWalkingRunning()) + * [getFlightsClimbed](https://github.com/terrillo/rn-apple-healthkit/wiki/getflightsclimbed()) + * [getHeartRateSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getheartratesamples()) + * [getHeightSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getheightsamples()) + * [getLatestBmi](https://github.com/terrillo/rn-apple-healthkit/wiki/getlatestbmi()) + * [getLatestBodyFatPercentage](https://github.com/terrillo/rn-apple-healthkit/wiki/getlatestbodyfatpercentage()) + * [getLatestHeight](https://github.com/terrillo/rn-apple-healthkit/wiki/getlatestheight()) + * [getLatestLeanBodyMass](https://github.com/terrillo/rn-apple-healthkit/wiki/getlatestleanbodymass()) + * [getLatestWeight](https://github.com/terrillo/rn-apple-healthkit/wiki/getlatestweight()) + * [getRespiratoryRateSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getrespiratoryratesamples()) + * [getSleepSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getsleepsamples()) + * [getStepCount](https://github.com/terrillo/rn-apple-healthkit/wiki/getStepCount()) + * [getWeightSamples](https://github.com/terrillo/rn-apple-healthkit/wiki/getweightsamples()) + * Write Methods + * [saveBmi](https://github.com/terrillo/rn-apple-healthkit/wiki/savebmi()) + * [saveHeight](https://github.com/terrillo/rn-apple-healthkit/wiki/saveheight()) + * [saveMindfulSession](https://github.com/terrillo/rn-apple-healthkit/wiki/saveMindfulSession()) + * [saveWeight](https://github.com/terrillo/rn-apple-healthkit/wiki/saveweight()) + * [saveSteps](https://github.com/terrillo/rn-apple-healthkit/wiki/saveSteps()) + * [References](#references) + +## Supported Apple Permissions The available Healthkit permissions to use with `initHealthKit` | Permission | Healthkit Identifier Type | Read | Write | |------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|------|-------| -| ActiveEnergyBurned | [HKQuantityTypeIdentifierActiveEnergyBurned](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifieractiveenergyburned?language=objc) | ✓ | ✓ | -| AppleExerciseTime | [HKQuantityTypeIdentifierAppleExerciseTime](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierappleexercisetime?language=objc) | ✓ | | -| BasalEnergyBurned | [HKQuantityTypeIdentifierBasalEnergyBurned](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierbasalenergyburned?language=objc) | ✓ | ✓ | | BiologicalSex | [HKCharacteristicTypeIdentifierBiologicalSex](https://developer.apple.com/reference/Healthkit/hkcharacteristictypeidentifierbiologicalsex?language=objc) | ✓ | | | BloodGlucose | [HKQuantityTypeIdentifierBloodGlucose](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierbloodglucose?language=objc) | ✓ | | +| BloodPressureDiastolic | [HKQuantityTypeIdentifierBloodPressureDiastolic](https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifierbloodpressurediastolic?language=objc) | ✓ | ✓ | +| BloodPressureSystolic | [HKQuantityTypeIdentifierBloodPressureSystolic](https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifierbloodpressuresystolic?language=objc) | ✓ | ✓ | | BodyMassIndex | [HKQuantityTypeIdentifierBodyMassIndex](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierbodymassindex?language=objc) | ✓ | ✓ | | BodyTemperature | [HKQuantityTypeIdentifierBodyTemperature](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierbodytemperature?language=objc) | ✓ | | | DateOfBirth | [HKCharacteristicTypeIdentifierDateOfBirth](https://developer.apple.com/reference/Healthkit/hkcharacteristictypeidentifierdateofbirth?language=objc) | ✓ | | -| DietaryEnergy | [HKQuantityTypeIdentifierDietaryEnergyConsumed](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierdietaryenergyconsumed?language=objc) | ✓ | ✓ | | DistanceCycling | [HKQuantityTypeIdentifierDistanceCycling](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierdistancecycling?language=objc) | ✓ | ✓ | | DistanceWalkingRunning | [HKQuantityTypeIdentifierDistanceWalkingRunning](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierdistancewalkingrunning?language=objc) | ✓ | ✓ | | FlightsClimbed | [HKQuantityTypeIdentifierFlightsClimbed](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierflightsclimbed?language=objc) | ✓ | ✓ | @@ -154,21 +136,16 @@ The available Healthkit permissions to use with `initHealthKit` | Height | [HKQuantityTypeIdentifierHeight](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierheight?language=objc) | ✓ | ✓ | | LeanBodyMass | [HKQuantityTypeIdentifierLeanBodyMass](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierleanbodymass?language=objc) | ✓ | ✓ | | MindfulSession | [HKCategoryTypeIdentifierMindfulSession](https://developer.apple.com/reference/healthkit/hkcategorytypeidentifiermindfulsession?language=objc) | | ✓ | -| NikeFuel | [HKQuantityTypeIdentifierNikeFuel](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifiernikefuel?language=objc) | ✓ | | | RespiratoryRate | [HKQuantityTypeIdentifierRespiratoryRate](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierrespiratoryrate?language=objc) | ✓ | | | SleepAnalysis | [HKCategoryTypeIdentifierSleepAnalysis](https://developer.apple.com/reference/Healthkit/hkcategorytypeidentifiersleepanalysis?language=objc) | ✓ | | | StepCount | [HKQuantityTypeIdentifierStepCount](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierstepcount?language=objc) | ✓ | ✓ | | Steps | [HKQuantityTypeIdentifierSteps](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifiersteps?language=objc) | ✓ | ✓ | | Weight | [HKQuantityTypeIdentifierBodyMass](https://developer.apple.com/reference/Healthkit/hkquantitytypeidentifierbodymass?language=objc) | ✓ | ✓ | -| BloodPressureDiastolic | [HKQuantityTypeIdentifierBloodPressureDiastolic](https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifierbloodpressurediastolic?language=objc) | ✓ | ✓ | -| BloodPressureSystolic | [HKQuantityTypeIdentifierBloodPressureSystolic](https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifierbloodpressuresystolic?language=objc) | ✓ | ✓ | These permissions are exported as constants of the `rn-apple-healthkit` module. ```javascript -import AppleHealthKit from 'react-native-apple-healthkit'; - -... +import AppleHealthKit from 'rn-apple-healthkit'; // get the available permissions from AppleHealthKit.Constants object const PERMS = AppleHealthKit.Constants.Permissions; @@ -185,807 +162,31 @@ const healthKitOptions = { ], } }; - -... -``` - - -Options -------- - -#### **`isAvailable`** -Check if Healthkit is available on the device. -```javascript -import AppleHealthkit from 'rn-apple-healthkit'; - -AppleHealthkit.isAvailable((err: Object, available: boolean) => { - if (available) { - // ... - } -}); -``` -___ - -#### **`initHealthKit`** -Initialize Healthkit. This will show the Healthkit permissions prompt for any read/write permissions set in the required `options` object. - -Due to Apple's privacy model if an app user has previously denied a specific permission then they can not be prompted again for that same permission. The app user would have to go into the Apple Health app and grant the permission to your react-native app under *sources* tab. - -For any data that is read from Healthkit the status/error is the same for both. This privacy restriction results in having no knowledge of whether the permission was denied (make sure it's added to the permissions options object), or the data for the specific request was nil (ex. no steps recorded today). - -For any data written to Healthkit an authorization error can be caught. If an authorization error occurs you can prompt the user to set the specific permission or add the permission to the options object if not present. - -If new read/write permissions are added to the options object then the app user will see the Healthkit permissions prompt with the new permissions to allow. - -`initHealthKit` requires an options object with Healthkit permission settings -```javascript -let options = { - permissions: { - read: ["Height", "Weight", "StepCount", "DateOfBirth", "BodyMassIndex"], - write: ["Weight", "StepCount", "BodyMassIndex"] - } -}; -``` - -```javascript -AppleHealthkit.initHealthKit(options: Object, (err: string, results: Object) => { - if (err) { - console.log("error initializing Healthkit: ", err); - return; - } - // Healthkit is initialized... - // now safe to read and write Healthkit data... -}); -``` - -___ - -#### **`getBiologicalSex`** -Get the biological sex (gender). If the `BiologicalSex` read permission is missing or the user has denied it then the value will be `unknown`. The possible values are: - -| Value | HKBiologicalSex | -|---------|-----------------------| -| unknown | HKBiologicalSexNotSet | -| male | HKBiologicalSexMale | -| female | HKBiologicalSexFemale | -| other | HKBiologicalSexOther | - -```javascript -AppleHealthkit.getBiologicalSex(null, (err: Object, results: Object) => { - if (this._handleHealthkitError(err, 'getBiologicalSex')) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 'female', -} -``` - -___ - -#### **`getDateOfBirth`** -Get the date of birth. - -On success, the callback function will be provided with a `res` object containing dob `value: string` (ISO timestamp), and `age: number` (age in years): -```javascript -AppleHealthkit.getDateOfBirth(null, (err: Object, results: Object) => { - if (this._handleHealthkitError(err, 'getDateOfBirth')) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: '1986-09-01T00:00:00.000-0400', - age: 29 -} -``` - -___ - -#### **`getStepCount`** -Get the aggregated total steps for a specific day (starting and ending at midnight). - -An optional options object may be provided containing `date` field representing the selected day. If `date` is not set or an options object is not provided then the current day will be used. -```javascript -let d = new Date(2016,1,1); -let options = { - date: d.toISOString() -}; -``` - -```javascript -AppleHealthkit.getStepCount(options: Object, (err: Object, results: Object) => { - if (this._handleHealthkitError(err, 'getStepCount')) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 213, -} -``` - -___ - -#### **`getDailyStepCountSamples`** -Get the total steps per day over a specified date range. - -`getDailyStepCountSamples` accepts an options object containing required *`startDate: ISO8601Timestamp`* and optional *`endDate: ISO8601Timestamp`*. If `endDate` is not provided it will default to the current time -```javascript -let options = { - startDate: (new Date(2016,1,1)).toISOString() // required - endDate: (new Date()).toISOString() // optional; default now -}; -``` - -```javascript - AppleHealthkit.getDailyStepCountSamples(options: Object, (err: Object, results: Array) => { - if (this._handleHealthkitError(err, 'getDailyStepCountSamples')) { - return; - } - console.log(results) -}); -``` - -The function will be called with an array of elements. Each element is an object containing `value`, `startDate`, and `endDate` fields: -```javascript -[ - { value: 8, startDate: '2016-07-09T00:00:00.000-0400', endDate: '2016-07-10T00:00:00.000-0400' }, - { value: 1923, startDate: '2016-07-08T00:00:00.000-0400', endDate: '2016-07-09T00:00:00.000-0400' }, - { value: 1802, startDate: '2016-07-07T00:00:00.000-0400', endDate: '2016-07-08T00:00:00.000-0400' }, -] -``` - -___ - -#### **`initStepCountObserver`** -Setup an HKObserverQuery for step count (HKQuantityTypeIdentifierStepCount) that will -trigger an event listenable on react-native `NativeAppEventEmitter` when the -Healthkit step count has changed. - -The `initStepCountObserver` method must be called before adding a listener to -NativeAppEventEmitter. After the step count observer has been initialized you can -listen to the NativeAppEventEmitter `change:steps` event and re-fetch relevent -step count data in the event handler. - -The `initStepCountObserver` method should be called after Healthkit has been -successfully initialized (AppleHealthkit.initHealthKit has been called without -error). - -```javascript -// import NativeAppEventEmitter from react-native -import { - Navigator, - View, - NativeAppEventEmitter, -} from 'react-native'; -``` - - -```javascript -AppleHealthkit.initHealthKit(HKOPTIONS, (err, res) => { - if (this._handleHKError(err, 'initHealthKit')) { - return; - } - - // initialize the step count observer - AppleHealthkit.initStepCountObserver({}, () => {}); - - // add event listener for 'change:steps' and handle the - // event in the event handler function. - // - // when adding a listener, a 'subscription' object is - // returned that must be used to remove the listener - // when the component unmounts. The subscription object - // must be accessible to any function/method/instance - // that will be unsubscribing from the event. - this.sub = NativeAppEventEmitter.addListener( - 'change:steps', - (evt) => { - // a 'change:steps' event has been received. step - // count data should be re-fetched from Healthkit. - this._fetchStepCountData(); - } - ); - - // other tasks to perform after Healthkit has been - // initialized (fetch relevant Healthkit data). - this._fetchStepCountData(); - this._fetchOtherRelevantHealthkitData(); - // ... -}); - -... - -// when the component where the listener was added unmounts -// (or whenever the listener should be removed), call the -// 'remove' method of the subscription object. -componentWillUnmount() { - this.sub.remove(); -} -``` - -___ - -#### **`saveSteps`** -Save a step count sample. - -A step count sample represents the number of steps during a specific period of time. A sample should be a precise as possible, with startDate and endDate representing the range of time the steps were taken in. - -`saveSteps` accepts an options object containing required *`value: number`*, *`startDate: ISO8601Timestamp`*, and *`endDate: ISO8601Timestamp`*. -```javascript -// startDate and endDate are 30 minutes apart. -// this means the step count value occurred within those 30 minutes. -let options = { - value: 100, - startDate: (new Date(2016,6,2,6,0,0)).toISOString(), - endDate: (new Date(2016,6,2,6,30,0)).toISOString() -}; -``` - -```javascript -AppleHealthkit.saveSteps(options, (err, res) => { - if (this._handleHKError(err, 'saveSteps')) { - return; - } - // step count sample successfully saved -}); -``` - -___ - -#### **`getDistanceWalkingRunning`** -Get the total distance walking/running on a specific day. - -`getDistanceWalkingRunning` accepts an options object containing optional *`date: ISO8601Timestamp`* and *`unit: string`*. If `date` is not provided it will default to the current time. `unit` defaults to `meter`. - -```javascript -let options = { - unit: 'mile', // optional; default 'meter' - date: (new Date(2016,5,1)).toISOString(), // optional; default now -}; -``` - -```javascript -AppleHealthkit.getDistanceWalkingRunning(options: Object, (err: Object, results: Object) => { - if (this._handleHKError(err, 'getDistanceWalkingRunning')) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 1.45, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`getDistanceCycling`** -Get the total distance cycling on a specific day. - -`getDistanceCycling` accepts an options object containing optional *`date: ISO8601Timestamp`* and *`unit: string`*. If `date` is not provided it will default to the current time. `unit` defaults to `meter` -```javascript -let options = { - unit: 'mile', // optional; default 'meter' - date: (new Date(2016,5,1)).toISOString(), // optional; default now -}; -``` - -```javascript -AppleHealthkit.getDistanceCycling(options: Object, (err: Object, results: Object) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 11.45, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`getFlightsClimbed`** -get the total flights climbed (1 flight is ~10ft of elevation) on a specific day. - -`getFlightsClimbed` accepts an options object containing optional *`date: ISO8601Timestamp`*. if `date` is not provided it will default to the current time. -```javascript -let options = { - date: (new Date(2016,5,1)).toISOString(), // optional; default now -}; -``` - -```javascript -AppleHealthkit.getFlightsClimbed(options: Object, (err: Object, results: Object) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 15, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`getLatestWeight`** -Get the most recent weight sample. - -On success, the callback function will be provided with a `weight` object containing the weight `value`, and the `startDate` and `endDate` of the weight sample. *Note: startDate and endDate will be the same as weight samples are saved at a specific point in time.* - -```javascript -let options = { - unit: 'pound' -}; -``` - -```javascript -AppleHealthkit.getLatestWeight(options, (err: string, results: Object) => { - if (err) { - console.log("error getting latest weight: ", err); - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 200, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`getWeightSamples`** -query for weight samples. the options object is used to setup a query to retrieve relevant samples. -```javascript -let options = { - unit: 'pound', // optional; default 'pound' - startDate: (new Date(2016,4,27)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - ascending: false, // optional; default false - limit:10, // optional; default no limit -}; -``` - -```javascript -AppleHealthkit.getWeightSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -[ - { value: 160, startDate: '2016-07-09T00:00:00.000-0400', endDate: '2016-07-10T00:00:00.000-0400' }, - { value: 161, startDate: '2016-07-08T00:00:00.000-0400', endDate: '2016-07-09T00:00:00.000-0400' }, - { value: 165, startDate: '2016-07-07T00:00:00.000-0400', endDate: '2016-07-08T00:00:00.000-0400' }, -] -``` - -___ - -#### **`saveWeight`** -save a numeric weight value to Healthkit - -`saveWeight` accepts an options object containing a numeric weight value: -```javascript -let options = { - value: 200 -} -``` - -```javascript -AppleHealthkit.saveWeight(options: Object, (err: Object, results: Object) => { - if (err) { - console.log("error saving weight to Healthkit: ", err); - return; - } - // Done -}); -``` - -___ - -#### **`getLatestHeight`** -Get the most recent height value. - -On success, the callback function will be provided with a `height` object containing the height `value`, and the `startDate` and `endDate` of the height sample. *Note: startDate and endDate will be the same as height samples are saved at a specific point in time.* - -```javascript -AppleHealthkit.getLatestHeight(null, (err: string, results: Object) => { - if (err) { - console.log("error getting latest height: ", err); - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 72, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`getHeightSamples`** -query for height samples. the options object is used to setup a query to retrieve relevant samples. -```javascript -let options = { - unit: 'inch', // optional; default 'inch' - startDate: (new Date(2016,4,27)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - ascending: false, // optional; default false - limit:10, // optional; default no limit -}; -``` - -```javascript -AppleHealthkit.getHeightSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results) -}); -``` - -The callback function will be called with a `samples` array containing objects with `value`, `startDate`, and `endDate` fields -```javascript -[ - { value: 74.02, startDate:'2016-06-29T17:55:00.000-0400', endDate:'2016-06-29T17:55:00.000-0400' }, - { value: 74, startDate:'2016-03-12T13:22:00.000-0400', endDate:'2016-03-12T13:22:00.000-0400' }, -] -``` - -___ - -#### **`saveHeight`** -save a numeric height value to Healthkit - -`saveHeight` accepts an options object containing a numeric height value: -```javascript -let options = { - value: 200 -} -``` - -```javascript -AppleHealthkit.saveHeight(options: Object, (err: Object, results: Object) => { - if (err) { - return; - } - // height successfully saved -}); -``` - -___ - -#### **`getLatestBmi`** -Get the most recent BMI sample. - -On success, the callback function will be provided with a `bmi` object containing the BMI `value`, and the `startDate` and `endDate` of the sample. *Note: startDate and endDate will be the same as bmi samples are saved at a specific point in time.* -```javascript -AppleHealthkit.getLatestBmi(null, (err: string, results: Object) => { - if (err) { - console.log("error getting latest bmi data: ", err); - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 27.2, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`saveBmi`** -save a numeric BMI value to Healthkit - -`saveBmi` accepts an options object containing a numeric BMI value: -```javascript -let options = { - value: 27.2 -} -``` -```javascript -AppleHealthkit.saveBmi(options: Object, (err: Object, results: Object) => { - if (err) { - return; - } - // BMI successfully saved -}); ``` -___ +## Units +- bpm +- calorie +- celsius +- count +- day +- fahrenheit +- foot +- gram +- hour +- inch +- joule +- meter +- mgPerdL +- mile +- minute +- mmhg +- mmolPerL +- percent +- pound +- second -#### **`getLatestBodyFatPercentage`** -Get the most recent body fat percentage. The percentage value is a number between 0 and 100. - -On success, the callback function will be provided with a `bodyFatPercentage` object containing the body fat percentage `value`, and the `startDate` and `endDate` of the sample. *Note: startDate and endDate will be the same as bodyFatPercentage samples are saved at a specific point in time.* - -```javascript -AppleHealthkit.getLatestBodyFatPercentage(null, (err: Object, results: Object) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 20, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`getLatestLeanBodyMass`** -Get the most recent lean body mass. The value is a number representing the weight in pounds (lbs) - -On success, the callback function will be provided with a `leanBodyMass` object containing the leanBodyMass `value`, and the `startDate` and `endDate` of the sample. *Note: startDate and endDate will be the same as leanBodyMass samples are saved at a specific point in time.* - -```javascript - AppleHealthkit.getLatestLeanBodyMass(null, (err: Object, results: Object) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -{ - value: 176, - startDate: '2016-07-08T12:00:00.000-0400', - endDate: '2016-07-08T12:00:00.000-0400' -} -``` - -___ - -#### **`getHeartRateSamples`** -query for heart rate samples. the options object is used to setup a query to retrieve relevant samples. -```javascript -let options = { - unit: 'bpm', // optional; default 'bpm' - startDate: (new Date(2016,4,27)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - ascending: false, // optional; default false - limit:10, // optional; default no limit -}; -``` - -the callback function will be called with a `samples` array containing objects with *value*, *startDate*, and *endDate* fields -```javascript -AppleHealthkit.getHeartRateSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -[ - { value: 74.02, startDate:'2016-06-29T17:55:00.000-0400', endDate:'2016-06-29T17:55:00.000-0400' }, - { value: 74, startDate:'2016-03-12T13:22:00.000-0400', endDate:'2016-03-12T13:22:00.000-0400' }, -] -``` - -___ - -#### **`getBodyTemperatureSamples`** -query for body temperature samples. the options object is used to setup a query to retrieve relevant samples. -```javascript -let options = { - unit: 'celsius', // optional; default 'celsius' - startDate: (new Date(2016,4,27)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - ascending: false, // optional; default false - limit:10, // optional; default no limit -}; -``` -available units are: `'fahrenheit'`, `'celsius'`. - -the callback function will be called with a `samples` array containing objects with *value*, *startDate*, and *endDate* fields. - -```javascript -AppleHealthkit.getBodyTemperatureSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -[ - { value: 74.02, startDate:'2016-06-29T17:55:00.000-0400', endDate:'2016-06-29T17:55:00.000-0400' }, - { value: 74, startDate:'2016-03-12T13:22:00.000-0400', endDate:'2016-03-12T13:22:00.000-0400' }, -] -``` - -___ - -#### **`getBloodPressureSamples`** -query for blood pressure samples. the options object is used to setup a query to retrieve relevant samples. -```javascript -let options = { - unit: 'mmhg', // optional; default 'mmhg' - startDate: (new Date(2016,4,27)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - ascending: false, // optional; default false - limit:10, // optional; default no limit -}; -``` - -the callback function will be called with a `samples` array containing objects with *bloodPressureSystolicValue*, *bloodPressureDiastolicValue*, *startDate*, and *endDate* fields - -```javascript -AppleHealthkit.getBloodPressureSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results) -}); -``` - -```javascript -[ - { bloodPressureSystolicValue: 120, bloodPressureDiastolicValue: 81, startDate:'2016-06-29T17:55:00.000-0400', endDate:'2016-06-29T17:55:00.000-0400' }, - { bloodPressureSystolicValue: 119, bloodPressureDiastolicValue: 77, startDate:'2016-03-12T13:22:00.000-0400', endDate:'2016-03-12T13:22:00.000-0400' }, -] -``` - - -___ - -#### **`getRespiratoryRateSamples`** -query for respiratory rate samples. the options object is used to setup a query to retrieve relevant samples. -```javascript -let options = { - unit: 'bpm', // optional; default 'bpm' - startDate: (new Date(2016,4,27)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - ascending: false, // optional; default false - limit:10, // optional; default no limit -}; -``` - -the callback function will be called with a `samples` array containing objects with *value*, *startDate*, and *endDate* fields - -```javascript -AppleHealthkit.getRespiratoryRateSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results) -}); -``` - -___ - -#### **`getBloodGlucoseSamples`** -query for blood glucose samples. the options object is used to setup a query to retrieve relevant samples. -```javascript -let options = { - unit: 'mmolPerL', // optional; default 'mmolPerL' - startDate: (new Date(2016,4,27)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - ascending: false, // optional; default false - limit:10, // optional; default no limit -}; -``` -available units are: `'mmolPerL'`, `'mgPerdL'`. - -the callback function will be called with a `samples` array containing objects with *value*, *startDate*, and *endDate* fields - -```javascript -AppleHealthkit.getBloodGlucoseSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results) -}); -``` - -___ - -#### **`getSleepSamples`** -query for sleep samples. - -each sleep sample represents a period of time with a startDate and an endDate. -the sample's value will be either `INBED` or `ASLEEP`. these values should overlap, -meaning that two (or more) samples represent a single nights sleep activity. see -[Healthkit SleepAnalysis] reference documentation - -the options object is used to setup a query to retrieve relevant samples. -the options must contain `startDate` and may also optionally include `endDate` -and `limit` options -```javascript -let options = { - startDate: (new Date(2016,10,1)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now - limit:10, // optional; default no limit -}; -``` - -The callback function will be called with a `samples` array containing objects -with *value*, *startDate*, and *endDate* fields - -```javascript -AppleHealthkit.getSleepSamples(options, (err: Object, results: Array) => { - if (err) { - return; - } - console.log(results). -}); -``` - -#### **`saveMindfulSession`** - -each mindfulness sample represents a period of time with a startDate and an endDate. -the options must contain `startDate` and `endDate` - -```javascript -let options = { - startDate: (new Date(2016,10,1)).toISOString(), // required - endDate: (new Date()).toISOString(), // optional; default now -}; - -``` - -``` -AppleHealthKit.saveMindfulSession(options, (err, res) => { - if (err) return { - return - } - console.log('Mindful session saved') -}); -``` +## References +- Apple Healthkit Documentation [https://developer.apple.com/Healthkit/](https://developer.apple.com/Healthkit/) -> *This package is fork from [react-native-apple-Healthkit](https://github.com/GregWilson/react-native-apple-Healthkit)* +> *This package is an original fork of [react-native-apple-Healthkit](https://github.com/GregWilson/react-native-apple-Healthkit)* diff --git a/constants.js b/constants.js deleted file mode 100644 index 16912c5..0000000 --- a/constants.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict' - -/** - * Apple Health Permissions - * @type {Object} - */ -const PERMISSIONS = { - DateOfBirth: 'DateOfBirth', - BiologicalSex: 'BiologicalSex', - Height: 'Height', - Weight: 'Weight', - BodyMass: 'BodyMass', - BodyFatPercentage: 'BodyFatPercentage', - BodyMassIndex: 'BodyMassIndex', - LeanBodyMass: 'LeanBodyMass', - Steps: 'Steps', - StepCount: 'StepCount', - DistanceWalkingRunning: 'DistanceWalkingRunning', - DistanceCycling: 'DistanceCycling', - BasalEnergyBurned: 'BasalEnergyBurned', - ActiveEnergyBurned: 'ActiveEnergyBurned', - FlightsClimbed: 'FlightsClimbed', - NikeFuel: 'NikeFuel', - AppleExerciseTime: 'AppleExerciseTime', - DietaryEnergy: 'DietaryEnergy', - HeartRate: 'HeartRate', - BodyTemperature: 'BodyTemperature', - BloodPressureSystolic: 'BloodPressureSystolic', - BloodPressureDiastolic: 'BloodPressureDiastolic', - RespiratoryRate: 'RespiratoryRate', - BloodGlucose: 'BloodGlucose', - SleepAnalysis: 'SleepAnalysis', - MindfulSession: 'MindfulSession', -}; - -/** - * Unit Request Types - */ -const UNITS = { - gram: 'gram', - pound: 'pound', - meter: 'meter', - mile: 'mile', - inch: 'inch', - foot: 'foot', - second: 'second', - minute: 'minute', - hour: 'hour', - day: 'day', - joule: 'joule', - calorie: 'calorie', - count: 'count', - percent: 'percent', - bpm: 'bpm', - fahrenheit: 'fahrenheit', - celsius: 'celsius', - mmhg: 'mmhg', - mmolPerL: 'mmolPerL', - mgPerdL: 'mgPerdL', -}; - -const CONSTANTS = { - Permissions: PERMISSIONS, - Units: UNITS, -}; - -export default CONSTANTS; -export const Constants = CONSTANTS; diff --git a/images/Capabilities_HealthKit.png b/images/Capabilities_HealthKit.png deleted file mode 100644 index 671b997f2c6a784978b9417f41f020aaf4a1d02a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105075 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�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

P1df1V_T)s^u+mV51pxe1E{z3}GS-DpdyTw~!f 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 M07*qoM6N<$f(8jX9RL6T diff --git a/index.js b/index.js index 2e5bc83..9459d57 100644 --- a/index.js +++ b/index.js @@ -2,10 +2,14 @@ let { AppleHealthKit } = require('react-native').NativeModules; -import Constants from './constants'; +import { Permissions } from './Constants/Permissions' +import { Units } from './Constants/Units' let HealthKit = Object.assign({}, AppleHealthKit, { - Constants: Constants + Constants: { + Permissions: Permissions, + Units: Units, + } }); export default HealthKit diff --git a/package.json b/package.json index b10e60f..56ff849 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rn-apple-healthkit", - "version": "0.5.0", + "version": "0.6.0", "description": "A React Native package for interacting with Apple HealthKit", "main": "index.js", "repository": { -- 2.26.2