[README in Japanese](README.ja.md)
# tauri-plugin-healthkit
This plugin provides access to HealthConnect (Android) and HealthKit (iOS).
| Linux | x |
| Windows | x |
| macOS | x |
| Android | ✓ |
| iOS | ✓ |
## Install
_Coming soon._
We plan to publish this plugin on `crates.io` and `npm`.
## Usage
### Requirements
- Gradle 8.1.1 or higher
- Android Gradle Plugin 8.9.1 or higher
- compileSdk 36 or higher (Android 14+)
- minSdk 26 or higher (Android 8.0+)
`src-tauri/gen/android/app/build.gradle.kts`
```kotlin
android {
compileSdk = 36
namespace = "com.tauri.dev"
defaultConfig {
minSdk = 26
targetSdk = 36
}
}
```
`src-tauri/gen/android/build.gradle.kts`
```kotlin
dependencies {
classpath("com.android.tools.build:gradle:8.9.1")
}
```
`src-tauri/gen/android/buildSrc/build.gradle.kts`
```kotlin
dependencies {
compileOnly(gradleApi())
implementation("com.android.tools.build:gradle:8.9.1")
}
```
`src-tauri/gen/android/gradle/gradle-wrapper.properties`
```properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
```
### Adding the Plugin
Add the plugin to your Tauri application:
`src-tauri/src/lib.rs`
```rust
fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet])
.plugin(tauri_plugin_healthkit::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
```
### Usage Example
Specify the permissions you need for HealthConnect (Android):
`src-tauri/gen/android/app/src/AndroidManifest.xml`
```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.health.READ_WEIGHT"/>
<uses-permission android:name="android.permission.health.WRITE_WEIGHT"/>
<uses-permission android:name="android.permission.health.READ_SLEEP"/>
<uses-permission android:name="android.permission.health.WRITE_SLEEP"/>
<uses-permission android:name="android.permission.health.READ_EXERCISE"/>
<uses-permission android:name="android.permission.health.WRITE_EXERCISE"/>
<uses-permission android:name="android.permission.health.READ_HEART_RATE"/>
<uses-permission android:name="android.permission.health.WRITE_HEART_RATE"/>
<uses-permission android:name="android.permission.health.READ_STEPS"/>
<uses-permission android:name="android.permission.health.WRITE_STEPS"/>
</manifest>
```
## Contributing
Pull requests are welcome.
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information.