vital_flutter 0.3.4
vital_flutter: ^0.3.4 copied to clipboard
The official Flutter package for Vital APIs allowing fitness apps linking with tryvital.io and with support for HealthKit.
vital_flutter #
The official Flutter package for Vital APIs allowing fitness apps linking with tryvital.io and with support for HealthKit.
Installing #
Package is available on https://pub.dev.
Getting Started #
Initialise client with region, environment and api key
final client = VitalClient()
..init(region: Region.eu, environment: Environment.sandbox, apiKey: 'sk_eu_...');
Query users:
final Response<List<User>> usersResponse = client.userService.getAll();
Link data provider:
client.linkProvider(user, 'strava', 'vitalexample://callback');
Note: To return back to the app after successful linking, setup an intent filter in
AndroidManifest.xmland custom URL scheme ininfo.plist. Note 2: Refer to documentation for all supported data providers.
HealthKit #
-
Follow iOS SDK instructions regarding HealthKit capabilities and background delivery setup for your iOS app.
-
To use HealthKit client you need to call configure first:
await client.healthkitServices.configureClient();
await client.healthkitServices.configureHealthkit(backgroundDeliveryEnabled: true);
- Set User ID
client.healthkitServices.setUserId('eba7c0a2-dc01-49f5-a361-...);
- Ask user for permissions to collect HealthKit data.
client.healthkitServices.askForResources([
HealthkitResource.profile,
HealthkitResource.body,
...
]);
- Sync data
client.healthkitServices.syncData();
- Observe sync status using status stream
Stream<SyncStatus> status = client.healthkitServices.status
Documentation #
For more example usage run the sample app with your API key and Region set in main.dart.
Please refer to the official Vital docs provide a full reference on using this library.
License #
vital-flutter is available under the AGPLv3 license. See the LICENSE file for more info. VitalDevices is under the Adept Labs Enterprise Edition (EE) license (the “EE License”). Please refer to its license inside its folder.