cordova-plugin-health
Version:
A plugin that abstracts fitness and health repositories like Apple HealthKit or Google Health Connect
164 lines (135 loc) • 6.83 kB
text/xml
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="cordova-plugin-health"
version="3.2.4">
<name>Cordova Health</name>
<description>
A plugin that abstracts fitness and health repositories Apple HealthKit and Google Health
Connect
</description>
<author>Dario Salvi, based on code by Eddy Verbruggen / Telerik</author>
<license>MIT</license>
<keywords>Health, HealthKit, Fit, Fitness, Health Connect</keywords>
<repo>https://github.com/dariosalvi78/cordova-plugin-health.git</repo>
<issue>https://github.com/dariosalvi78/cordova-plugin-health/issues</issue>
<engines>
<engine name="cordova" version=">=6.0.0" />
</engines>
<!-- ios -->
<platform name="ios">
<js-module src="www/ios/HealthKit.js" name="HealthKit">
<clobbers target="window.plugins.healthkit" />
</js-module>
<js-module src="www/ios/health.js" name="health">
<clobbers target="cordova.plugins.health" />
</js-module>
<config-file target="config.xml" parent="/*">
<feature name="HealthKit">
<param name="ios-package" value="HealthKit" />
</feature>
</config-file>
<!-- Commented this because it means you can't download/use the app on iOS devices that don't
support Apple Health (e.g. iPad) -->
<!-- See https://github.com/dariosalvi78/cordova-plugin-health/issues/59 -->
<!-- <config-file target="*-Info.plist" parent="UIRequiredDeviceCapabilities">
<array>
<string>healthkit</string>
</array>
</config-file> -->
<!-- Usage description of Health, mandatory since iOS 10 -->
<preference name="HEALTH_READ_PERMISSION" default="App needs to read data" />
<preference name="HEALTH_WRITE_PERMISSION" default="App needs to write data" />
<config-file target="*-Info.plist" parent="NSHealthShareUsageDescription">
<string>$HEALTH_READ_PERMISSION</string>
</config-file>
<config-file target="*-Info.plist" parent="NSHealthUpdateUsageDescription">
<string>$HEALTH_WRITE_PERMISSION</string>
</config-file>
<config-file target="*/Entitlements-Debug.plist" parent="com.apple.developer.healthkit">
<true />
</config-file>
<config-file target="*/Entitlements-Debug.plist" parent="com.apple.developer.healthkit.access">
<array />
</config-file>
<config-file target="*/Entitlements-Release.plist" parent="com.apple.developer.healthkit">
<true />
</config-file>
<config-file target="*/Entitlements-Release.plist" parent="com.apple.developer.healthkit.access">
<array />
</config-file>
<header-file src="src/ios/WorkoutActivityConversion.h" />
<source-file src="src/ios/WorkoutActivityConversion.m" />
<header-file src="src/ios/HKHealthStore+AAPLExtensions.h" />
<source-file src="src/ios/HKHealthStore+AAPLExtensions.m" />
<header-file src="src/ios/HealthKit.h" />
<source-file src="src/ios/HealthKit.m" />
<framework src="HealthKit.framework" weak="true" />
</platform>
<!-- android -->
<platform name="android">
<framework src="androidx.health.connect:connect-client:1.1.0-alpha10" />
<framework src="src/android/build-extras.gradle" custom="true" type="gradleReference" />
<config-file target="AndroidManifest.xml" parent="/*">
<!-- Check if Health Connect is installed -->
<queries>
<package android:name="com.google.android.apps.healthdata" />
</queries>
</config-file>
<config-file target="res/xml/config.xml" parent="/*">
<feature name="health">
<param name="android-package" value="org.apache.cordova.health.HealthPlugin" />
<!-- used to init the plugin when the cordova activity is created -->
<param name="onload" value="true" />
</feature>
<!-- <access origin="https://accounts.google.com/*" /> -->
</config-file>
<config-file target="AndroidManifest.xml" parent="/*/application">
<!-- For supported versions through Android 13, create an activity to show the rationale
of Health Connect permissions once users click the privacy policy link. -->
<activity
android:name="org.apache.cordova.health.PermissionsRationaleActivity"
android:exported="true">
<intent-filter>
<action android:name="androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE" />
</intent-filter>
</activity>
<!-- For versions starting Android 14, create an activity alias to show the rationale
of Health Connect permissions once users click the privacy policy link. -->
<activity-alias
android:name="ViewPermissionUsageActivity"
android:exported="true"
android:targetActivity="org.apache.cordova.health.PermissionsRationaleActivity"
android:permission="android.permission.START_VIEW_PERMISSION_USAGE">
<intent-filter>
<action android:name="android.intent.action.VIEW_PERMISSION_USAGE" />
<category android:name="android.intent.category.HEALTH_PERMISSIONS" />
</intent-filter>
</activity-alias>
</config-file>
<resource-file src="src/android/CordovaPluginHealthStrings.xml"
target="res/values/CordovaPluginHealthStrings.xml" />
<source-file src="src/android/HealthPlugin.java" target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/StepsFunctions.java" target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/WeightFunctions.java" target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/HeightFunctions.java" target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/NutritionFunctions.java"
target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/HydrationFunctions.java"
target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/NutritionXFunctions.java"
target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/SleepFunctions.java" target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/BloodGlucoseFunctions.java"
target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/BloodPressureFunctions.java"
target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/HeartRateFunctions.java"
target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/PermissionsRationaleActivity.java"
target-dir="src/org/apache/cordova/health/" />
<source-file src="src/android/ActivityMapper.java" target-dir="src/org/apache/cordova/health/" />
<js-module src="www/android/health.js" name="health">
<clobbers target="cordova.plugins.health" />
</js-module>
</platform>
</plugin>