@tryvital/vital-health-react-native 6.0.1 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/vitalhealthreactnative/HealthConnectVitalHealthProvider.kt +4 -0
- package/android/src/main/java/com/vitalhealthreactnative/UnavailableVitalHealthProviderDefinition.kt +4 -0
- package/android/src/main/java/com/vitalhealthreactnative/VitalHealthProvider.kt +1 -0
- package/android/src/main/java/com/vitalhealthreactnative/VitalHealthReactNativeModule.kt +33 -2
- package/android/src/samsungHealthEnabled/java/com/vitalhealthreactnative/SamsungHealthVitalHealthProvider.kt +4 -0
- package/app.plugin.js +1 -1
- package/ios/VitalHealthReactNative.m +1 -0
- package/ios/VitalHealthReactNative.swift +16 -1
- package/lib/commonjs/app.plugin.js +1 -1
- package/lib/commonjs/health_config.js +40 -1
- package/lib/commonjs/health_config.js.map +1 -1
- package/lib/commonjs/index.js +38 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/providerAvailability.js +16 -0
- package/lib/commonjs/providerAvailability.js.map +1 -0
- package/lib/module/health_config.js +39 -0
- package/lib/module/health_config.js.map +1 -1
- package/lib/module/index.js +18 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/providerAvailability.js +10 -0
- package/lib/module/providerAvailability.js.map +1 -0
- package/lib/typescript/health_config.d.ts +39 -0
- package/lib/typescript/health_config.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +10 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/providerAvailability.d.ts +48 -0
- package/lib/typescript/providerAvailability.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/health_config.ts +41 -0
- package/src/index.tsx +25 -4
- package/src/providerAvailability.ts +52 -0
package/android/build.gradle
CHANGED
package/android/src/main/java/com/vitalhealthreactnative/HealthConnectVitalHealthProvider.kt
CHANGED
|
@@ -33,6 +33,10 @@ internal object HealthConnectVitalHealthProviderDefinition : VitalHealthProvider
|
|
|
33
33
|
return VitalHealthConnectManager.isAvailable(context)
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
override suspend fun providerAvailability(context: Context): ProviderAvailability {
|
|
37
|
+
return isAvailable(context)
|
|
38
|
+
}
|
|
39
|
+
|
|
36
40
|
override fun openPlatformHealthAppIntent(context: Context) =
|
|
37
41
|
VitalHealthConnectManager.openHealthConnectIntent(context)
|
|
38
42
|
|
package/android/src/main/java/com/vitalhealthreactnative/UnavailableVitalHealthProviderDefinition.kt
CHANGED
|
@@ -27,6 +27,10 @@ internal object UnavailableVitalHealthProviderDefinition : VitalHealthProviderDe
|
|
|
27
27
|
return ProviderAvailability.NotInstalled
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
override suspend fun providerAvailability(context: Context): ProviderAvailability {
|
|
31
|
+
return ProviderAvailability.NotInstalled
|
|
32
|
+
}
|
|
33
|
+
|
|
30
34
|
override fun openPlatformHealthAppIntent(context: Context): Intent? {
|
|
31
35
|
raiseUnimplemented()
|
|
32
36
|
}
|
|
@@ -35,6 +35,7 @@ internal interface VitalHealthProviderDefinition {
|
|
|
35
35
|
val connectionStatusEvent: VitalHealthEvent
|
|
36
36
|
|
|
37
37
|
fun isAvailable(context: Context): ProviderAvailability
|
|
38
|
+
suspend fun providerAvailability(context: Context): ProviderAvailability
|
|
38
39
|
fun openPlatformHealthAppIntent(context: Context): Intent?
|
|
39
40
|
fun getOrCreateManager(context: Context): VitalHealthManagerBridge
|
|
40
41
|
}
|
|
@@ -72,7 +72,21 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
72
72
|
@ReactMethod
|
|
73
73
|
fun isAvailable(provider: String, promise: Promise) = runOnMain {
|
|
74
74
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
75
|
-
|
|
75
|
+
|
|
76
|
+
val availability = definitionOf(androidProvider).providerAvailability(reactApplicationContext)
|
|
77
|
+
promise.resolve(availability == ProviderAvailability.Installed)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@ReactMethod
|
|
81
|
+
fun providerAvailability(provider: String, promise: Promise) = runOnMain {
|
|
82
|
+
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
83
|
+
|
|
84
|
+
promise.resolve(
|
|
85
|
+
definitionOf(androidProvider)
|
|
86
|
+
.providerAvailability(reactApplicationContext)
|
|
87
|
+
.name
|
|
88
|
+
.replaceFirstChar { it.lowercaseChar() },
|
|
89
|
+
)
|
|
76
90
|
}
|
|
77
91
|
|
|
78
92
|
@ReactMethod
|
|
@@ -88,7 +102,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
88
102
|
logger.enabled = enableLogs
|
|
89
103
|
|
|
90
104
|
val providerDefinition = definitionOf(androidProvider)
|
|
91
|
-
val availability = providerDefinition.
|
|
105
|
+
val availability = providerDefinition.providerAvailability(reactApplicationContext)
|
|
92
106
|
if (availability != ProviderAvailability.Installed) {
|
|
93
107
|
return@runOnMain promise.reject(
|
|
94
108
|
VITAL_HEALTH_ERROR,
|
|
@@ -214,6 +228,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
214
228
|
@ReactMethod
|
|
215
229
|
fun hasAskedForPermission(provider: String, resource: String, promise: Promise) = runOnMain {
|
|
216
230
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
231
|
+
|
|
217
232
|
val vitalResource = try {
|
|
218
233
|
VitalResource.valueOf(resource)
|
|
219
234
|
} catch (e: IllegalArgumentException) {
|
|
@@ -230,6 +245,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
230
245
|
@ReactMethod
|
|
231
246
|
fun syncData(provider: String, resources: ReadableArray, promise: Promise) = runOnMain {
|
|
232
247
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
248
|
+
|
|
233
249
|
val vitalResources = resources.toArrayList()
|
|
234
250
|
.mapNotNull {
|
|
235
251
|
try {
|
|
@@ -261,6 +277,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
261
277
|
promise: Promise,
|
|
262
278
|
) = runOnMain {
|
|
263
279
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
280
|
+
|
|
264
281
|
val writableResource = try {
|
|
265
282
|
WritableVitalResource.valueOf(resource)
|
|
266
283
|
} catch (e: IllegalArgumentException) {
|
|
@@ -300,6 +317,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
300
317
|
@ReactMethod
|
|
301
318
|
fun enableBackgroundSync(provider: String, promise: Promise) = runOnMain {
|
|
302
319
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
320
|
+
|
|
303
321
|
if (synchronized(this) { enableBackgroundSync != null }) {
|
|
304
322
|
return@runOnMain promise.reject(
|
|
305
323
|
VITAL_HEALTH_ERROR,
|
|
@@ -348,6 +366,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
348
366
|
@ReactMethod
|
|
349
367
|
fun disableBackgroundSync(provider: String, promise: Promise) = runOnMain {
|
|
350
368
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
369
|
+
|
|
351
370
|
managerOf(androidProvider)
|
|
352
371
|
.disableBackgroundSync()
|
|
353
372
|
promise.resolve(null)
|
|
@@ -356,6 +375,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
356
375
|
@ReactMethod
|
|
357
376
|
fun setSyncNotificationContent(provider: String, content: String, promise: Promise) = runOnMain {
|
|
358
377
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
378
|
+
|
|
359
379
|
val manager = managerOf(androidProvider)
|
|
360
380
|
|
|
361
381
|
try {
|
|
@@ -378,6 +398,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
378
398
|
@ReactMethod
|
|
379
399
|
fun setPauseSynchronization(provider: String, paused: Boolean, promise: Promise) = runOnMain {
|
|
380
400
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
401
|
+
|
|
381
402
|
val manager = managerOf(androidProvider)
|
|
382
403
|
manager.pauseSynchronization = paused
|
|
383
404
|
promise.resolve(null)
|
|
@@ -386,6 +407,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
386
407
|
@ReactMethod
|
|
387
408
|
fun getPauseSynchronization(provider: String, promise: Promise) = runOnMain {
|
|
388
409
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
410
|
+
|
|
389
411
|
val manager = managerOf(androidProvider)
|
|
390
412
|
promise.resolve(manager.pauseSynchronization)
|
|
391
413
|
}
|
|
@@ -393,6 +415,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
393
415
|
@ReactMethod
|
|
394
416
|
fun isBackgroundSyncEnabled(provider: String, promise: Promise) = runOnMain {
|
|
395
417
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
418
|
+
|
|
396
419
|
val manager = managerOf(androidProvider)
|
|
397
420
|
promise.resolve(manager.isBackgroundSyncEnabled)
|
|
398
421
|
}
|
|
@@ -400,6 +423,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
400
423
|
@ReactMethod
|
|
401
424
|
fun autoSyncThrottle(provider: String, promise: Promise) = runOnMain {
|
|
402
425
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
426
|
+
|
|
403
427
|
val manager = managerOf(androidProvider)
|
|
404
428
|
promise.resolve(manager.autoSyncThrottle.inWholeMilliseconds.toDouble())
|
|
405
429
|
}
|
|
@@ -407,6 +431,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
407
431
|
@ReactMethod
|
|
408
432
|
fun backgroundSyncMinimumInterval(provider: String, promise: Promise) = runOnMain {
|
|
409
433
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
434
|
+
|
|
410
435
|
val manager = managerOf(androidProvider)
|
|
411
436
|
promise.resolve(manager.backgroundSyncMinimumInterval.inWholeMilliseconds.toDouble())
|
|
412
437
|
}
|
|
@@ -418,6 +443,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
418
443
|
promise: Promise,
|
|
419
444
|
) = runOnMain {
|
|
420
445
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
446
|
+
|
|
421
447
|
val manager = managerOf(androidProvider)
|
|
422
448
|
manager.backgroundSyncMinimumInterval = intervalInMilliseconds.milliseconds
|
|
423
449
|
promise.resolve(null)
|
|
@@ -430,6 +456,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
430
456
|
promise: Promise,
|
|
431
457
|
) = runOnMain {
|
|
432
458
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
459
|
+
|
|
433
460
|
val manager = definitionOf(androidProvider).getOrCreateManager(reactApplicationContext)
|
|
434
461
|
manager.autoSyncThrottle = thresholdInMilliseconds.milliseconds
|
|
435
462
|
promise.resolve(null)
|
|
@@ -438,6 +465,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
438
465
|
@ReactMethod
|
|
439
466
|
fun openPlatformHealthApp(provider: String, promise: Promise) = runOnMain {
|
|
440
467
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
468
|
+
|
|
441
469
|
val activity = reactApplicationContext.currentActivity ?: return@runOnMain promise.reject(
|
|
442
470
|
VITAL_HEALTH_ERROR,
|
|
443
471
|
"No active Android Activity",
|
|
@@ -453,6 +481,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
453
481
|
@ReactMethod
|
|
454
482
|
fun getConnectionStatus(provider: String, promise: Promise) = runOnMain {
|
|
455
483
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
484
|
+
|
|
456
485
|
val manager = managerOf(androidProvider)
|
|
457
486
|
promise.resolve(
|
|
458
487
|
manager.connectionStatus.value.name.replaceFirstChar { it.lowercase() },
|
|
@@ -462,6 +491,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
462
491
|
@ReactMethod
|
|
463
492
|
fun connect(provider: String, promise: Promise) = runOnMain {
|
|
464
493
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
494
|
+
|
|
465
495
|
try {
|
|
466
496
|
managerOf(androidProvider)
|
|
467
497
|
.connect()
|
|
@@ -474,6 +504,7 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
474
504
|
@ReactMethod
|
|
475
505
|
fun disconnect(provider: String, promise: Promise) = runOnMain {
|
|
476
506
|
val androidProvider = providerOf(provider, promise) ?: return@runOnMain
|
|
507
|
+
|
|
477
508
|
try {
|
|
478
509
|
managerOf(androidProvider)
|
|
479
510
|
.disconnect()
|
|
@@ -30,6 +30,10 @@ internal object SamsungHealthVitalHealthProviderDefinition : VitalHealthProvider
|
|
|
30
30
|
return VitalSamsungHealthManager.isAvailable(context)
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
override suspend fun providerAvailability(context: Context): ProviderAvailability {
|
|
34
|
+
return VitalSamsungHealthManager.providerAvailability(context)
|
|
35
|
+
}
|
|
36
|
+
|
|
33
37
|
override fun openPlatformHealthAppIntent(context: Context) =
|
|
34
38
|
VitalSamsungHealthManager.openSamsungHealthIntent(context)
|
|
35
39
|
|
package/app.plugin.js
CHANGED
|
@@ -17,7 +17,7 @@ const ANDROID_HEALTH_PERMISSION_PREFIX = 'android.permission.health.';
|
|
|
17
17
|
const HEALTH_CONNECT_PERMISSIONS_RATIONALE_ACTION = 'androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE';
|
|
18
18
|
const SAMSUNG_HEALTH_SETTINGS_PLUGIN = 'io.tryvital.shealth-settings-plugin';
|
|
19
19
|
const SAMSUNG_HEALTH_PROJECT_PLUGIN = 'io.tryvital.shealth-project-plugin';
|
|
20
|
-
const SAMSUNG_HEALTH_PLUGIN_VERSION = '5.0.
|
|
20
|
+
const SAMSUNG_HEALTH_PLUGIN_VERSION = '5.0.2';
|
|
21
21
|
const SAMSUNG_HEALTH_SETTINGS_PLUGIN_DECLARATION =
|
|
22
22
|
`id("${SAMSUNG_HEALTH_SETTINGS_PLUGIN}") version "${SAMSUNG_HEALTH_PLUGIN_VERSION}"`;
|
|
23
23
|
const SAMSUNG_HEALTH_PLUGIN_CLASSPATH =
|
|
@@ -7,6 +7,7 @@ RCT_EXTERN_METHOD(configure:(NSString *)provider
|
|
|
7
7
|
numberOfDaysToBackFill:(int)numberOfDaysToBackFill
|
|
8
8
|
enableLogs:(BOOL)enableLogs
|
|
9
9
|
connectionPolicy:(NSString *)connectionPolicy
|
|
10
|
+
sleepDataAllowlist:(id)sleepDataAllowlist
|
|
10
11
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
11
12
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
12
13
|
|
|
@@ -64,13 +64,14 @@ class VitalHealthReactNative: RCTEventEmitter {
|
|
|
64
64
|
return ["Status", "VitalHealthConnectionStatus"]
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
@objc(configure:backgroundDeliveryEnabled:numberOfDaysToBackFill:enableLogs:connectionPolicy:resolver:rejecter:)
|
|
67
|
+
@objc(configure:backgroundDeliveryEnabled:numberOfDaysToBackFill:enableLogs:connectionPolicy:sleepDataAllowlist:resolver:rejecter:)
|
|
68
68
|
func configure(
|
|
69
69
|
_ provider: String,
|
|
70
70
|
backgroundDeliveryEnabled: Bool,
|
|
71
71
|
numberOfDaysToBackFill: Int,
|
|
72
72
|
enableLogs: Bool,
|
|
73
73
|
connectionPolicy: String,
|
|
74
|
+
sleepDataAllowlist: Any?,
|
|
74
75
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
75
76
|
reject: RCTPromiseRejectBlock
|
|
76
77
|
) {
|
|
@@ -81,12 +82,26 @@ class VitalHealthReactNative: RCTEventEmitter {
|
|
|
81
82
|
backgroundDeliveryEnabled: backgroundDeliveryEnabled,
|
|
82
83
|
numberOfDaysToBackFill: numberOfDaysToBackFill,
|
|
83
84
|
logsEnabled: enableLogs,
|
|
85
|
+
sleepDataAllowlist: decodeSleepAllowlist(sleepDataAllowlist),
|
|
84
86
|
connectionPolicy: VitalHealthKitClient.ConnectionPolicy(rawValue: connectionPolicy) ?? .autoConnect
|
|
85
87
|
)
|
|
86
88
|
)
|
|
87
89
|
resolve(())
|
|
88
90
|
}
|
|
89
91
|
|
|
92
|
+
/// Maps the value bridged from JS into the iOS SDK `AppAllowlist`.
|
|
93
|
+
/// `"all"` -> `.all`; `[String]` of bundle identifiers -> `.specific`; anything else
|
|
94
|
+
/// (incl. `nil`/`NSNull` for an unset value) falls back to the SDK default allow list.
|
|
95
|
+
private func decodeSleepAllowlist(_ value: Any?) -> AppAllowlist {
|
|
96
|
+
if let string = value as? String, string == "all" {
|
|
97
|
+
return .all
|
|
98
|
+
}
|
|
99
|
+
if let bundleIdentifiers = value as? [String] {
|
|
100
|
+
return .specific(bundleIdentifiers.map { AppIdentifier(rawValue: $0) })
|
|
101
|
+
}
|
|
102
|
+
return .specific(AppIdentifier.defaultsleepDataAllowlist)
|
|
103
|
+
}
|
|
104
|
+
|
|
90
105
|
@objc(setUserId:userId:resolver:rejecter:)
|
|
91
106
|
func setUserId(
|
|
92
107
|
_ provider: String,
|
|
@@ -17,7 +17,7 @@ const ANDROID_HEALTH_PERMISSION_PREFIX = 'android.permission.health.';
|
|
|
17
17
|
const HEALTH_CONNECT_PERMISSIONS_RATIONALE_ACTION = 'androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE';
|
|
18
18
|
const SAMSUNG_HEALTH_SETTINGS_PLUGIN = 'io.tryvital.shealth-settings-plugin';
|
|
19
19
|
const SAMSUNG_HEALTH_PROJECT_PLUGIN = 'io.tryvital.shealth-project-plugin';
|
|
20
|
-
const SAMSUNG_HEALTH_PLUGIN_VERSION = '5.0.
|
|
20
|
+
const SAMSUNG_HEALTH_PLUGIN_VERSION = '5.0.2';
|
|
21
21
|
const SAMSUNG_HEALTH_SETTINGS_PLUGIN_DECLARATION =
|
|
22
22
|
`id("${SAMSUNG_HEALTH_SETTINGS_PLUGIN}") version "${SAMSUNG_HEALTH_PLUGIN_VERSION}"`;
|
|
23
23
|
const SAMSUNG_HEALTH_PLUGIN_CLASSPATH =
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.IOSHealthProvider = exports.IOSHealthConfig = exports.HealthConfig = exports.AndroidHealthProvider = exports.AndroidHealthConfig = void 0;
|
|
6
|
+
exports.iOSAppIdentifier = exports.IOSHealthProvider = exports.IOSHealthConfig = exports.HealthConfig = exports.AndroidHealthProvider = exports.AndroidHealthConfig = void 0;
|
|
7
7
|
let IOSHealthProvider = exports.IOSHealthProvider = /*#__PURE__*/function (IOSHealthProvider) {
|
|
8
8
|
IOSHealthProvider["AppleHealthKit"] = "apple_health_kit";
|
|
9
9
|
return IOSHealthProvider;
|
|
@@ -28,6 +28,45 @@ exports.AndroidHealthConfig = AndroidHealthConfig;
|
|
|
28
28
|
class IOSHealthConfig {
|
|
29
29
|
dataPushMode = 'automatic';
|
|
30
30
|
backgroundDeliveryEnabled = true;
|
|
31
|
+
/**
|
|
32
|
+
* Controls which apps/sources are allowed to contribute sleep data during sync (iOS only).
|
|
33
|
+
*
|
|
34
|
+
* - `undefined` (default): use the SDK's built-in default allow list of known sleep providers.
|
|
35
|
+
* - `'all'`: accept sleep data from every source.
|
|
36
|
+
* - `string[]`: accept only the listed source app bundle identifiers. Use {@link iOSAppIdentifier}
|
|
37
|
+
* for the known providers, or pass any raw bundle identifier string.
|
|
38
|
+
*
|
|
39
|
+
* Manually-entered sleep data is always allowed, regardless of this setting.
|
|
40
|
+
*/
|
|
31
41
|
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Known sleep data source apps and their bundle identifiers, mirroring the iOS SDK's
|
|
45
|
+
* `AppIdentifier` constants. Use these with {@link IOSHealthConfig.sleepDataAllowlist}.
|
|
46
|
+
*/
|
|
32
47
|
exports.IOSHealthConfig = IOSHealthConfig;
|
|
48
|
+
const iOSAppIdentifier = exports.iOSAppIdentifier = {
|
|
49
|
+
appleHealthKit: 'com.apple.health',
|
|
50
|
+
oura: 'com.ouraring.oura',
|
|
51
|
+
withings: 'com.withings.wiScaleNG',
|
|
52
|
+
whoop: 'com.whoop.iphone',
|
|
53
|
+
garmin: 'com.garmin.connect.mobile',
|
|
54
|
+
fitbit: 'com.fitbit.FitbitMobile',
|
|
55
|
+
polar: 'fi.polar.polarflow',
|
|
56
|
+
coros: 'com.coros.coros',
|
|
57
|
+
suunto: 'com.sports-tracker.suunto.iphone',
|
|
58
|
+
xiaomi: 'com.xiaomi.miwatch.pro',
|
|
59
|
+
muse: 'com.interaxon.muse',
|
|
60
|
+
biostrap: 'com.biostrap.Biostrap',
|
|
61
|
+
cardiomood: 'com.corsanohealth.cardiomood',
|
|
62
|
+
eightsleep: 'com.eightsleep.Eight',
|
|
63
|
+
zepp: 'com.huami.watch',
|
|
64
|
+
zeppLife: 'HM.wristband',
|
|
65
|
+
sleepCycle: 'com.lexwarelabs.goodmorning'
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Sleep data allow list value. `'all'` accepts every source; a `string[]` of bundle identifiers
|
|
70
|
+
* accepts only those sources; leaving it `undefined` uses the SDK default.
|
|
71
|
+
*/
|
|
33
72
|
//# sourceMappingURL=health_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IOSHealthProvider","exports","AndroidHealthProvider","HealthConfig","logsEnabled","numberOfDaysToBackFill","connectionPolicy","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":";;;;;;IAEYA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAIjBE,qBAAqB,GAAAD,OAAA,CAAAC,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAU1B,MAAMC,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,gBAAgB,GAAqB,aAAa;EAClDC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAACT,OAAA,CAAAE,YAAA,GAAAA,YAAA;AAEM,MAAMK,mBAAmB,CAAC;EAC/BG,cAAc,GAAG,IAAI;AACvB;AAACV,OAAA,CAAAO,mBAAA,GAAAA,mBAAA;AAEM,MAAME,eAAe,CAAC;EAC3BE,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"names":["IOSHealthProvider","exports","AndroidHealthProvider","HealthConfig","logsEnabled","numberOfDaysToBackFill","connectionPolicy","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled","iOSAppIdentifier","appleHealthKit","oura","withings","whoop","garmin","fitbit","polar","coros","suunto","xiaomi","muse","biostrap","cardiomood","eightsleep","zepp","zeppLife","sleepCycle"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":";;;;;;IAEYA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAIjBE,qBAAqB,GAAAD,OAAA,CAAAC,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAU1B,MAAMC,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,gBAAgB,GAAqB,aAAa;EAClDC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAACT,OAAA,CAAAE,YAAA,GAAAA,YAAA;AAEM,MAAMK,mBAAmB,CAAC;EAC/BG,cAAc,GAAG,IAAI;AACvB;AAACV,OAAA,CAAAO,mBAAA,GAAAA,mBAAA;AAEM,MAAME,eAAe,CAAC;EAC3BE,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;EAChC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEA;AACA;AACA;AACA;AAHAZ,OAAA,CAAAS,eAAA,GAAAA,eAAA;AAIO,MAAMI,gBAAgB,GAAAb,OAAA,CAAAa,gBAAA,GAAG;EAC9BC,cAAc,EAAE,kBAAkB;EAClCC,IAAI,EAAE,mBAAmB;EACzBC,QAAQ,EAAE,wBAAwB;EAClCC,KAAK,EAAE,kBAAkB;EACzBC,MAAM,EAAE,2BAA2B;EACnCC,MAAM,EAAE,yBAAyB;EACjCC,KAAK,EAAE,oBAAoB;EAC3BC,KAAK,EAAE,iBAAiB;EACxBC,MAAM,EAAE,kCAAkC;EAC1CC,MAAM,EAAE,wBAAwB;EAChCC,IAAI,EAAE,oBAAoB;EAC1BC,QAAQ,EAAE,uBAAuB;EACjCC,UAAU,EAAE,8BAA8B;EAC1CC,UAAU,EAAE,sBAAsB;EAClCC,IAAI,EAAE,iBAAiB;EACvBC,QAAQ,EAAE,cAAc;EACxBC,UAAU,EAAE;AACd,CAAU;;AAEV;AACA;AACA;AACA"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -24,6 +24,30 @@ Object.keys(_health_config).forEach(function (key) {
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
});
|
|
27
|
+
var _providerAvailability = require("./providerAvailability");
|
|
28
|
+
Object.keys(_providerAvailability).forEach(function (key) {
|
|
29
|
+
if (key === "default" || key === "__esModule") return;
|
|
30
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
31
|
+
if (key in exports && exports[key] === _providerAvailability[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _providerAvailability[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _ask_config = require("./ask_config");
|
|
40
|
+
Object.keys(_ask_config).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
43
|
+
if (key in exports && exports[key] === _ask_config[key]) return;
|
|
44
|
+
Object.defineProperty(exports, key, {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () {
|
|
47
|
+
return _ask_config[key];
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
27
51
|
// Reexports
|
|
28
52
|
|
|
29
53
|
const LINKING_ERROR = `The package 'vital-health-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
@@ -220,13 +244,23 @@ class VitalHealth {
|
|
|
220
244
|
return this.getAutoSyncThrottle();
|
|
221
245
|
}
|
|
222
246
|
static async isAvailable(provider = defaultHealthProvider()) {
|
|
247
|
+
return (await this.providerAvailability(provider)) === _providerAvailability.ProviderAvailability.Installed;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Returns the platform provider availability.
|
|
252
|
+
*
|
|
253
|
+
* Apple HealthKit is treated as always installed when requested on iOS.
|
|
254
|
+
* Health Connect and Samsung Health return the native Android SDK availability.
|
|
255
|
+
*/
|
|
256
|
+
static async providerAvailability(provider = defaultHealthProvider()) {
|
|
223
257
|
if (_reactNative.Platform.OS === 'android') {
|
|
224
258
|
if (!isAndroidHealthProvider(provider)) {
|
|
225
|
-
return
|
|
259
|
+
return _providerAvailability.ProviderAvailability.NotInstalled;
|
|
226
260
|
}
|
|
227
|
-
return await VitalHealthReactNative.
|
|
261
|
+
return await VitalHealthReactNative.providerAvailability(provider);
|
|
228
262
|
} else {
|
|
229
|
-
return provider ===
|
|
263
|
+
return provider === _health_config.IOSHealthProvider.AppleHealthKit && _reactNative.Platform.OS === 'ios' ? _providerAvailability.ProviderAvailability.Installed : _providerAvailability.ProviderAvailability.NotInstalled;
|
|
230
264
|
}
|
|
231
265
|
}
|
|
232
266
|
static async configure(healthConfig, provider = defaultHealthProvider()) {
|
|
@@ -234,7 +268,7 @@ class VitalHealth {
|
|
|
234
268
|
if (_reactNative.Platform.OS === 'android') {
|
|
235
269
|
return await VitalHealthReactNative.configure(provider, healthConfig.androidConfig.syncOnAppStart, healthConfig.numberOfDaysToBackFill, healthConfig.logsEnabled, healthConfig.connectionPolicy);
|
|
236
270
|
} else {
|
|
237
|
-
return await VitalHealthReactNative.configure(provider, healthConfig.iOSConfig.backgroundDeliveryEnabled, healthConfig.numberOfDaysToBackFill, healthConfig.logsEnabled, healthConfig.connectionPolicy);
|
|
271
|
+
return await VitalHealthReactNative.configure(provider, healthConfig.iOSConfig.backgroundDeliveryEnabled, healthConfig.numberOfDaysToBackFill, healthConfig.logsEnabled, healthConfig.connectionPolicy, healthConfig.iOSConfig.sleepDataAllowlist ?? null);
|
|
238
272
|
}
|
|
239
273
|
}
|
|
240
274
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_health_config","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","LINKING_ERROR","Platform","select","ios","default","VitalHealthReactNative","NativeModules","Proxy","Error","eventNames","syncStatus","apple_health_kit","health_connect","samsung_health","connectionStatus","defaultHealthProvider","OS","AndroidHealthProvider","HealthConnect","IOSHealthProvider","AppleHealthKit","isAndroidHealthProvider","provider","SamsungHealth","validateHealthProvider","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","NativeEventEmitter","eventEmitter","setEventEmitter","emitter","canEnableBackgroundSyncNoninteractively","getConnectionStatus","observeConnectionStatusChange","listener","isCancelled","wrappedListener","subscription","addListener","then","remove","observeSyncStatusChange","isProviderSynchronizationPaused","getPauseSynchronization","pauseSynchronization","isBackgroundSyncEnabledForProvider","isBackgroundSyncEnabled","getBackgroundSyncMinimumInterval","backgroundSyncMinimumInterval","getAutoSyncThrottle","autoSyncThrottle","isAvailable","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","connectionPolicy","iOSConfig","backgroundDeliveryEnabled","connect","disconnect","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","undefined","readResources","writeResources","config","type","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","isPersistentLoggingEnabled","setPersistentLoggingEnabled","enabled","sharePersistentLogArchive","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_health_config","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_providerAvailability","_ask_config","LINKING_ERROR","Platform","select","ios","default","VitalHealthReactNative","NativeModules","Proxy","Error","eventNames","syncStatus","apple_health_kit","health_connect","samsung_health","connectionStatus","defaultHealthProvider","OS","AndroidHealthProvider","HealthConnect","IOSHealthProvider","AppleHealthKit","isAndroidHealthProvider","provider","SamsungHealth","validateHealthProvider","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","NativeEventEmitter","eventEmitter","setEventEmitter","emitter","canEnableBackgroundSyncNoninteractively","getConnectionStatus","observeConnectionStatusChange","listener","isCancelled","wrappedListener","subscription","addListener","then","remove","observeSyncStatusChange","isProviderSynchronizationPaused","getPauseSynchronization","pauseSynchronization","isBackgroundSyncEnabledForProvider","isBackgroundSyncEnabled","getBackgroundSyncMinimumInterval","backgroundSyncMinimumInterval","getAutoSyncThrottle","autoSyncThrottle","isAvailable","providerAvailability","ProviderAvailability","Installed","NotInstalled","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","connectionPolicy","iOSConfig","backgroundDeliveryEnabled","sleepDataAllowlist","connect","disconnect","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","undefined","readResources","writeResources","config","type","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","isPersistentLoggingEnabled","setPersistentLoggingEnabled","enabled","sharePersistentLogArchive","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ProviderAvailability = void 0;
|
|
7
|
+
let ProviderAvailability = exports.ProviderAvailability = /*#__PURE__*/function (ProviderAvailability) {
|
|
8
|
+
ProviderAvailability["Installed"] = "installed";
|
|
9
|
+
ProviderAvailability["NotInstalled"] = "notInstalled";
|
|
10
|
+
ProviderAvailability["NotSupportedSDK"] = "notSupportedSDK";
|
|
11
|
+
ProviderAvailability["OnboardingIncomplete"] = "onboardingIncomplete";
|
|
12
|
+
ProviderAvailability["AppNotAllowed"] = "appNotAllowed";
|
|
13
|
+
ProviderAvailability["ServiceUnavailable"] = "serviceUnavailable";
|
|
14
|
+
return ProviderAvailability;
|
|
15
|
+
}({});
|
|
16
|
+
//# sourceMappingURL=providerAvailability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ProviderAvailability","exports"],"sourceRoot":"../../src","sources":["providerAvailability.ts"],"mappings":";;;;;;IAAYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA"}
|
|
@@ -20,5 +20,44 @@ export class AndroidHealthConfig {
|
|
|
20
20
|
export class IOSHealthConfig {
|
|
21
21
|
dataPushMode = 'automatic';
|
|
22
22
|
backgroundDeliveryEnabled = true;
|
|
23
|
+
/**
|
|
24
|
+
* Controls which apps/sources are allowed to contribute sleep data during sync (iOS only).
|
|
25
|
+
*
|
|
26
|
+
* - `undefined` (default): use the SDK's built-in default allow list of known sleep providers.
|
|
27
|
+
* - `'all'`: accept sleep data from every source.
|
|
28
|
+
* - `string[]`: accept only the listed source app bundle identifiers. Use {@link iOSAppIdentifier}
|
|
29
|
+
* for the known providers, or pass any raw bundle identifier string.
|
|
30
|
+
*
|
|
31
|
+
* Manually-entered sleep data is always allowed, regardless of this setting.
|
|
32
|
+
*/
|
|
23
33
|
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Known sleep data source apps and their bundle identifiers, mirroring the iOS SDK's
|
|
37
|
+
* `AppIdentifier` constants. Use these with {@link IOSHealthConfig.sleepDataAllowlist}.
|
|
38
|
+
*/
|
|
39
|
+
export const iOSAppIdentifier = {
|
|
40
|
+
appleHealthKit: 'com.apple.health',
|
|
41
|
+
oura: 'com.ouraring.oura',
|
|
42
|
+
withings: 'com.withings.wiScaleNG',
|
|
43
|
+
whoop: 'com.whoop.iphone',
|
|
44
|
+
garmin: 'com.garmin.connect.mobile',
|
|
45
|
+
fitbit: 'com.fitbit.FitbitMobile',
|
|
46
|
+
polar: 'fi.polar.polarflow',
|
|
47
|
+
coros: 'com.coros.coros',
|
|
48
|
+
suunto: 'com.sports-tracker.suunto.iphone',
|
|
49
|
+
xiaomi: 'com.xiaomi.miwatch.pro',
|
|
50
|
+
muse: 'com.interaxon.muse',
|
|
51
|
+
biostrap: 'com.biostrap.Biostrap',
|
|
52
|
+
cardiomood: 'com.corsanohealth.cardiomood',
|
|
53
|
+
eightsleep: 'com.eightsleep.Eight',
|
|
54
|
+
zepp: 'com.huami.watch',
|
|
55
|
+
zeppLife: 'HM.wristband',
|
|
56
|
+
sleepCycle: 'com.lexwarelabs.goodmorning'
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Sleep data allow list value. `'all'` accepts every source; a `string[]` of bundle identifiers
|
|
61
|
+
* accepts only those sources; leaving it `undefined` uses the SDK default.
|
|
62
|
+
*/
|
|
24
63
|
//# sourceMappingURL=health_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IOSHealthProvider","AndroidHealthProvider","HealthConfig","logsEnabled","numberOfDaysToBackFill","connectionPolicy","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":"AAEA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAI7B,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC,OAAO,MAAMC,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,gBAAgB,GAAqB,aAAa;EAClDC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAEA,OAAO,MAAMF,mBAAmB,CAAC;EAC/BG,cAAc,GAAG,IAAI;AACvB;AAEA,OAAO,MAAMD,eAAe,CAAC;EAC3BE,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"names":["IOSHealthProvider","AndroidHealthProvider","HealthConfig","logsEnabled","numberOfDaysToBackFill","connectionPolicy","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled","iOSAppIdentifier","appleHealthKit","oura","withings","whoop","garmin","fitbit","polar","coros","suunto","xiaomi","muse","biostrap","cardiomood","eightsleep","zepp","zeppLife","sleepCycle"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":"AAEA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAI7B,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC,OAAO,MAAMC,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,gBAAgB,GAAqB,aAAa;EAClDC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAEA,OAAO,MAAMF,mBAAmB,CAAC;EAC/BG,cAAc,GAAG,IAAI;AACvB;AAEA,OAAO,MAAMD,eAAe,CAAC;EAC3BE,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;EAChC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,cAAc,EAAE,kBAAkB;EAClCC,IAAI,EAAE,mBAAmB;EACzBC,QAAQ,EAAE,wBAAwB;EAClCC,KAAK,EAAE,kBAAkB;EACzBC,MAAM,EAAE,2BAA2B;EACnCC,MAAM,EAAE,yBAAyB;EACjCC,KAAK,EAAE,oBAAoB;EAC3BC,KAAK,EAAE,iBAAiB;EACxBC,MAAM,EAAE,kCAAkC;EAC1CC,MAAM,EAAE,wBAAwB;EAChCC,IAAI,EAAE,oBAAoB;EAC1BC,QAAQ,EAAE,uBAAuB;EACjCC,UAAU,EAAE,8BAA8B;EAC1CC,UAAU,EAAE,sBAAsB;EAClCC,IAAI,EAAE,iBAAiB;EACvBC,QAAQ,EAAE,cAAc;EACxBC,UAAU,EAAE;AACd,CAAU;;AAEV;AACA;AACA;AACA"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
2
2
|
import { AndroidHealthProvider, IOSHealthProvider } from './health_config';
|
|
3
|
+
import { ProviderAvailability } from './providerAvailability';
|
|
4
|
+
|
|
3
5
|
// Reexports
|
|
4
6
|
export * from './health_config';
|
|
7
|
+
export * from './ask_config';
|
|
8
|
+
export * from './providerAvailability';
|
|
5
9
|
const LINKING_ERROR = `The package 'vital-health-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
6
10
|
ios: "- You have run 'pod install'\n",
|
|
7
11
|
default: ''
|
|
@@ -196,13 +200,23 @@ export class VitalHealth {
|
|
|
196
200
|
return this.getAutoSyncThrottle();
|
|
197
201
|
}
|
|
198
202
|
static async isAvailable(provider = defaultHealthProvider()) {
|
|
203
|
+
return (await this.providerAvailability(provider)) === ProviderAvailability.Installed;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Returns the platform provider availability.
|
|
208
|
+
*
|
|
209
|
+
* Apple HealthKit is treated as always installed when requested on iOS.
|
|
210
|
+
* Health Connect and Samsung Health return the native Android SDK availability.
|
|
211
|
+
*/
|
|
212
|
+
static async providerAvailability(provider = defaultHealthProvider()) {
|
|
199
213
|
if (Platform.OS === 'android') {
|
|
200
214
|
if (!isAndroidHealthProvider(provider)) {
|
|
201
|
-
return
|
|
215
|
+
return ProviderAvailability.NotInstalled;
|
|
202
216
|
}
|
|
203
|
-
return await VitalHealthReactNative.
|
|
217
|
+
return await VitalHealthReactNative.providerAvailability(provider);
|
|
204
218
|
} else {
|
|
205
|
-
return provider ===
|
|
219
|
+
return provider === IOSHealthProvider.AppleHealthKit && Platform.OS === 'ios' ? ProviderAvailability.Installed : ProviderAvailability.NotInstalled;
|
|
206
220
|
}
|
|
207
221
|
}
|
|
208
222
|
static async configure(healthConfig, provider = defaultHealthProvider()) {
|
|
@@ -210,7 +224,7 @@ export class VitalHealth {
|
|
|
210
224
|
if (Platform.OS === 'android') {
|
|
211
225
|
return await VitalHealthReactNative.configure(provider, healthConfig.androidConfig.syncOnAppStart, healthConfig.numberOfDaysToBackFill, healthConfig.logsEnabled, healthConfig.connectionPolicy);
|
|
212
226
|
} else {
|
|
213
|
-
return await VitalHealthReactNative.configure(provider, healthConfig.iOSConfig.backgroundDeliveryEnabled, healthConfig.numberOfDaysToBackFill, healthConfig.logsEnabled, healthConfig.connectionPolicy);
|
|
227
|
+
return await VitalHealthReactNative.configure(provider, healthConfig.iOSConfig.backgroundDeliveryEnabled, healthConfig.numberOfDaysToBackFill, healthConfig.logsEnabled, healthConfig.connectionPolicy, healthConfig.iOSConfig.sleepDataAllowlist ?? null);
|
|
214
228
|
}
|
|
215
229
|
}
|
|
216
230
|
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","AndroidHealthProvider","IOSHealthProvider","LINKING_ERROR","select","ios","default","VitalHealthReactNative","Proxy","get","Error","eventNames","syncStatus","apple_health_kit","health_connect","samsung_health","connectionStatus","defaultHealthProvider","OS","HealthConnect","AppleHealthKit","isAndroidHealthProvider","provider","SamsungHealth","validateHealthProvider","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","eventEmitter","setEventEmitter","emitter","canEnableBackgroundSyncNoninteractively","getConnectionStatus","observeConnectionStatusChange","listener","isCancelled","wrappedListener","subscription","addListener","then","remove","observeSyncStatusChange","isProviderSynchronizationPaused","getPauseSynchronization","pauseSynchronization","isBackgroundSyncEnabledForProvider","isBackgroundSyncEnabled","getBackgroundSyncMinimumInterval","backgroundSyncMinimumInterval","getAutoSyncThrottle","autoSyncThrottle","isAvailable","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","connectionPolicy","iOSConfig","backgroundDeliveryEnabled","connect","disconnect","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","undefined","readResources","writeResources","config","type","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","isPersistentLoggingEnabled","setPersistentLoggingEnabled","enabled","sharePersistentLogArchive","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","AndroidHealthProvider","IOSHealthProvider","ProviderAvailability","LINKING_ERROR","select","ios","default","VitalHealthReactNative","Proxy","get","Error","eventNames","syncStatus","apple_health_kit","health_connect","samsung_health","connectionStatus","defaultHealthProvider","OS","HealthConnect","AppleHealthKit","isAndroidHealthProvider","provider","SamsungHealth","validateHealthProvider","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","eventEmitter","setEventEmitter","emitter","canEnableBackgroundSyncNoninteractively","getConnectionStatus","observeConnectionStatusChange","listener","isCancelled","wrappedListener","subscription","addListener","then","remove","observeSyncStatusChange","isProviderSynchronizationPaused","getPauseSynchronization","pauseSynchronization","isBackgroundSyncEnabledForProvider","isBackgroundSyncEnabled","getBackgroundSyncMinimumInterval","backgroundSyncMinimumInterval","getAutoSyncThrottle","autoSyncThrottle","isAvailable","providerAvailability","Installed","NotInstalled","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","connectionPolicy","iOSConfig","backgroundDeliveryEnabled","sleepDataAllowlist","connect","disconnect","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","undefined","readResources","writeResources","config","type","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","isPersistentLoggingEnabled","setPersistentLoggingEnabled","enabled","sharePersistentLogArchive","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export let ProviderAvailability = /*#__PURE__*/function (ProviderAvailability) {
|
|
2
|
+
ProviderAvailability["Installed"] = "installed";
|
|
3
|
+
ProviderAvailability["NotInstalled"] = "notInstalled";
|
|
4
|
+
ProviderAvailability["NotSupportedSDK"] = "notSupportedSDK";
|
|
5
|
+
ProviderAvailability["OnboardingIncomplete"] = "onboardingIncomplete";
|
|
6
|
+
ProviderAvailability["AppNotAllowed"] = "appNotAllowed";
|
|
7
|
+
ProviderAvailability["ServiceUnavailable"] = "serviceUnavailable";
|
|
8
|
+
return ProviderAvailability;
|
|
9
|
+
}({});
|
|
10
|
+
//# sourceMappingURL=providerAvailability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ProviderAvailability"],"sourceRoot":"../../src","sources":["providerAvailability.ts"],"mappings":"AAAA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA"}
|
|
@@ -20,5 +20,44 @@ export declare class AndroidHealthConfig {
|
|
|
20
20
|
export declare class IOSHealthConfig {
|
|
21
21
|
dataPushMode: string;
|
|
22
22
|
backgroundDeliveryEnabled: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Controls which apps/sources are allowed to contribute sleep data during sync (iOS only).
|
|
25
|
+
*
|
|
26
|
+
* - `undefined` (default): use the SDK's built-in default allow list of known sleep providers.
|
|
27
|
+
* - `'all'`: accept sleep data from every source.
|
|
28
|
+
* - `string[]`: accept only the listed source app bundle identifiers. Use {@link iOSAppIdentifier}
|
|
29
|
+
* for the known providers, or pass any raw bundle identifier string.
|
|
30
|
+
*
|
|
31
|
+
* Manually-entered sleep data is always allowed, regardless of this setting.
|
|
32
|
+
*/
|
|
33
|
+
sleepDataAllowlist?: SleepDataAllowlist;
|
|
23
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Known sleep data source apps and their bundle identifiers, mirroring the iOS SDK's
|
|
37
|
+
* `AppIdentifier` constants. Use these with {@link IOSHealthConfig.sleepDataAllowlist}.
|
|
38
|
+
*/
|
|
39
|
+
export declare const iOSAppIdentifier: {
|
|
40
|
+
readonly appleHealthKit: "com.apple.health";
|
|
41
|
+
readonly oura: "com.ouraring.oura";
|
|
42
|
+
readonly withings: "com.withings.wiScaleNG";
|
|
43
|
+
readonly whoop: "com.whoop.iphone";
|
|
44
|
+
readonly garmin: "com.garmin.connect.mobile";
|
|
45
|
+
readonly fitbit: "com.fitbit.FitbitMobile";
|
|
46
|
+
readonly polar: "fi.polar.polarflow";
|
|
47
|
+
readonly coros: "com.coros.coros";
|
|
48
|
+
readonly suunto: "com.sports-tracker.suunto.iphone";
|
|
49
|
+
readonly xiaomi: "com.xiaomi.miwatch.pro";
|
|
50
|
+
readonly muse: "com.interaxon.muse";
|
|
51
|
+
readonly biostrap: "com.biostrap.Biostrap";
|
|
52
|
+
readonly cardiomood: "com.corsanohealth.cardiomood";
|
|
53
|
+
readonly eightsleep: "com.eightsleep.Eight";
|
|
54
|
+
readonly zepp: "com.huami.watch";
|
|
55
|
+
readonly zeppLife: "HM.wristband";
|
|
56
|
+
readonly sleepCycle: "com.lexwarelabs.goodmorning";
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Sleep data allow list value. `'all'` accepts every source; a `string[]` of bundle identifiers
|
|
60
|
+
* accepts only those sources; leaving it `undefined` uses the SDK default.
|
|
61
|
+
*/
|
|
62
|
+
export type SleepDataAllowlist = 'all' | string[];
|
|
24
63
|
//# sourceMappingURL=health_config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health_config.d.ts","sourceRoot":"","sources":["../../src/health_config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,UAAU,CAAC;AAE1D,oBAAY,iBAAiB;IAC3B,cAAc,qBAAqB;CACpC;AAED,oBAAY,qBAAqB;IAC/B,aAAa,mBAAmB;IAChC,aAAa,mBAAmB;CACjC;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,qBAAa,YAAY;IACvB,WAAW,UAAQ;IACnB,sBAAsB,SAAM;IAC5B,gBAAgB,EAAE,gBAAgB,CAAiB;IACnD,aAAa,sBAA6B;IAC1C,SAAS,kBAAyB;CACnC;AAED,qBAAa,mBAAmB;IAC9B,cAAc,UAAQ;CACvB;AAED,qBAAa,eAAe;IAC1B,YAAY,SAAe;IAC3B,yBAAyB,UAAQ;
|
|
1
|
+
{"version":3,"file":"health_config.d.ts","sourceRoot":"","sources":["../../src/health_config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,UAAU,CAAC;AAE1D,oBAAY,iBAAiB;IAC3B,cAAc,qBAAqB;CACpC;AAED,oBAAY,qBAAqB;IAC/B,aAAa,mBAAmB;IAChC,aAAa,mBAAmB;CACjC;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,qBAAa,YAAY;IACvB,WAAW,UAAQ;IACnB,sBAAsB,SAAM;IAC5B,gBAAgB,EAAE,gBAAgB,CAAiB;IACnD,aAAa,sBAA6B;IAC1C,SAAS,kBAAyB;CACnC;AAED,qBAAa,mBAAmB;IAC9B,cAAc,UAAQ;CACvB;AAED,qBAAa,eAAe;IAC1B,YAAY,SAAe;IAC3B,yBAAyB,UAAQ;IACjC;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;CAkBnB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC"}
|
|
@@ -2,7 +2,10 @@ import { NativeEventEmitter } from 'react-native';
|
|
|
2
2
|
import type { HealthConfig, HealthProvider } from './health_config';
|
|
3
3
|
import type { AskConfig } from './ask_config';
|
|
4
4
|
import type { Subscription } from '@tryvital/vital-core-react-native';
|
|
5
|
+
import { ProviderAvailability } from './providerAvailability';
|
|
5
6
|
export * from './health_config';
|
|
7
|
+
export * from './ask_config';
|
|
8
|
+
export * from './providerAvailability';
|
|
6
9
|
export declare const VitalHealthReactNativeModule: any;
|
|
7
10
|
export declare const VitalHealthEvents: {
|
|
8
11
|
statusEvent: string;
|
|
@@ -88,6 +91,13 @@ export declare class VitalHealth {
|
|
|
88
91
|
*/
|
|
89
92
|
static get autoSyncThrottle(): Promise<number>;
|
|
90
93
|
static isAvailable(provider?: HealthProvider): Promise<boolean>;
|
|
94
|
+
/**
|
|
95
|
+
* Returns the platform provider availability.
|
|
96
|
+
*
|
|
97
|
+
* Apple HealthKit is treated as always installed when requested on iOS.
|
|
98
|
+
* Health Connect and Samsung Health return the native Android SDK availability.
|
|
99
|
+
*/
|
|
100
|
+
static providerAvailability(provider?: HealthProvider): Promise<ProviderAvailability>;
|
|
91
101
|
static configure(healthConfig: HealthConfig, provider?: HealthProvider): Promise<void>;
|
|
92
102
|
/**
|
|
93
103
|
* Setup a HealthKit (iOS) or Health Connect (Android) connection with this device.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare enum ProviderAvailability {
|
|
2
|
+
/**
|
|
3
|
+
* Apple HealthKit, Health Connect, or Samsung Health.
|
|
4
|
+
*
|
|
5
|
+
* There is an active Apple HealthKit, Samsung Health, or Health Connect installation
|
|
6
|
+
* on this device.
|
|
7
|
+
*/
|
|
8
|
+
Installed = "installed",
|
|
9
|
+
/**
|
|
10
|
+
* Health Connect or Samsung Health.
|
|
11
|
+
*
|
|
12
|
+
* No Samsung Health or Health Connect installation has been detected on this device.
|
|
13
|
+
*/
|
|
14
|
+
NotInstalled = "notInstalled",
|
|
15
|
+
/**
|
|
16
|
+
* Health Connect or Samsung Health.
|
|
17
|
+
*
|
|
18
|
+
* The SDK being used is incompatible with the Samsung Health or Health Connect installation.
|
|
19
|
+
*/
|
|
20
|
+
NotSupportedSDK = "notSupportedSDK",
|
|
21
|
+
/**
|
|
22
|
+
* Samsung Health only.
|
|
23
|
+
*
|
|
24
|
+
* Samsung Health has been installed, but the onboarding experience is incomplete.
|
|
25
|
+
* So all the SDK methods are blocked.
|
|
26
|
+
*/
|
|
27
|
+
OnboardingIncomplete = "onboardingIncomplete",
|
|
28
|
+
/**
|
|
29
|
+
* Samsung Health only.
|
|
30
|
+
*
|
|
31
|
+
* Samsung Health has been installed. But your App Package ID has not yet been allowlisted
|
|
32
|
+
* by Samsung. Contact Samsumg Developer Support.
|
|
33
|
+
*
|
|
34
|
+
* If you are testing on your device, you can enable Samsung Health developer mode.
|
|
35
|
+
* See https://developer.samsung.com/health/data/guide/developer-mode.html for the instructions.
|
|
36
|
+
*/
|
|
37
|
+
AppNotAllowed = "appNotAllowed",
|
|
38
|
+
/**
|
|
39
|
+
* Samsung Health only.
|
|
40
|
+
*
|
|
41
|
+
* Samsung Health has been installed, but we fail to estsblish a functional service connection
|
|
42
|
+
* to Samsung Health. This edge case can happen when Samsung Health is installed while your app
|
|
43
|
+
* is active. The only solution today as of June 10, 2026 appears to be closing and restarting
|
|
44
|
+
* your app.
|
|
45
|
+
*/
|
|
46
|
+
ServiceUnavailable = "serviceUnavailable"
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=providerAvailability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerAvailability.d.ts","sourceRoot":"","sources":["../../src/providerAvailability.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC9B;;;;;OAKG;IACH,SAAS,cAAc;IAEvB;;;;OAIG;IACH,YAAY,iBAAiB;IAE7B;;;;OAIG;IACH,eAAe,oBAAoB;IAEnC;;;;;OAKG;IACH,oBAAoB,yBAAyB;IAE7C;;;;;;;;OAQG;IACH,aAAa,kBAAkB;IAE/B;;;;;;;OAOG;IACH,kBAAkB,uBAAuB;CAC1C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tryvital/vital-health-react-native",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.2",
|
|
4
4
|
"description": "Client to access iOS's HealthKit and Android HealthConnect",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"registry": "https://registry.npmjs.org/"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@tryvital/vital-core-react-native": "6.0.
|
|
53
|
+
"@tryvital/vital-core-react-native": "6.0.2"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": "*",
|
package/src/health_config.ts
CHANGED
|
@@ -29,4 +29,45 @@ export class AndroidHealthConfig {
|
|
|
29
29
|
export class IOSHealthConfig {
|
|
30
30
|
dataPushMode = 'automatic';
|
|
31
31
|
backgroundDeliveryEnabled = true;
|
|
32
|
+
/**
|
|
33
|
+
* Controls which apps/sources are allowed to contribute sleep data during sync (iOS only).
|
|
34
|
+
*
|
|
35
|
+
* - `undefined` (default): use the SDK's built-in default allow list of known sleep providers.
|
|
36
|
+
* - `'all'`: accept sleep data from every source.
|
|
37
|
+
* - `string[]`: accept only the listed source app bundle identifiers. Use {@link iOSAppIdentifier}
|
|
38
|
+
* for the known providers, or pass any raw bundle identifier string.
|
|
39
|
+
*
|
|
40
|
+
* Manually-entered sleep data is always allowed, regardless of this setting.
|
|
41
|
+
*/
|
|
42
|
+
sleepDataAllowlist?: SleepDataAllowlist;
|
|
32
43
|
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Known sleep data source apps and their bundle identifiers, mirroring the iOS SDK's
|
|
47
|
+
* `AppIdentifier` constants. Use these with {@link IOSHealthConfig.sleepDataAllowlist}.
|
|
48
|
+
*/
|
|
49
|
+
export const iOSAppIdentifier = {
|
|
50
|
+
appleHealthKit: 'com.apple.health',
|
|
51
|
+
oura: 'com.ouraring.oura',
|
|
52
|
+
withings: 'com.withings.wiScaleNG',
|
|
53
|
+
whoop: 'com.whoop.iphone',
|
|
54
|
+
garmin: 'com.garmin.connect.mobile',
|
|
55
|
+
fitbit: 'com.fitbit.FitbitMobile',
|
|
56
|
+
polar: 'fi.polar.polarflow',
|
|
57
|
+
coros: 'com.coros.coros',
|
|
58
|
+
suunto: 'com.sports-tracker.suunto.iphone',
|
|
59
|
+
xiaomi: 'com.xiaomi.miwatch.pro',
|
|
60
|
+
muse: 'com.interaxon.muse',
|
|
61
|
+
biostrap: 'com.biostrap.Biostrap',
|
|
62
|
+
cardiomood: 'com.corsanohealth.cardiomood',
|
|
63
|
+
eightsleep: 'com.eightsleep.Eight',
|
|
64
|
+
zepp: 'com.huami.watch',
|
|
65
|
+
zeppLife: 'HM.wristband',
|
|
66
|
+
sleepCycle: 'com.lexwarelabs.goodmorning',
|
|
67
|
+
} as const;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Sleep data allow list value. `'all'` accepts every source; a `string[]` of bundle identifiers
|
|
71
|
+
* accepts only those sources; leaving it `undefined` uses the SDK default.
|
|
72
|
+
*/
|
|
73
|
+
export type SleepDataAllowlist = 'all' | string[];
|
package/src/index.tsx
CHANGED
|
@@ -3,9 +3,12 @@ import { AndroidHealthProvider, IOSHealthProvider } from './health_config';
|
|
|
3
3
|
import type { HealthConfig, HealthProvider } from './health_config';
|
|
4
4
|
import type { AskConfig } from './ask_config';
|
|
5
5
|
import type { Subscription } from '@tryvital/vital-core-react-native';
|
|
6
|
+
import { ProviderAvailability } from './providerAvailability';
|
|
6
7
|
|
|
7
8
|
// Reexports
|
|
8
9
|
export * from './health_config';
|
|
10
|
+
export * from './ask_config';
|
|
11
|
+
export * from './providerAvailability';
|
|
9
12
|
|
|
10
13
|
const LINKING_ERROR =
|
|
11
14
|
`The package 'vital-health-react-native' doesn't seem to be linked. Make sure: \n\n` +
|
|
@@ -296,13 +299,30 @@ export class VitalHealth {
|
|
|
296
299
|
static async isAvailable(
|
|
297
300
|
provider: HealthProvider = defaultHealthProvider()
|
|
298
301
|
): Promise<boolean> {
|
|
302
|
+
return (
|
|
303
|
+
(await this.providerAvailability(provider)) === ProviderAvailability.Installed
|
|
304
|
+
);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Returns the platform provider availability.
|
|
309
|
+
*
|
|
310
|
+
* Apple HealthKit is treated as always installed when requested on iOS.
|
|
311
|
+
* Health Connect and Samsung Health return the native Android SDK availability.
|
|
312
|
+
*/
|
|
313
|
+
static async providerAvailability(
|
|
314
|
+
provider: HealthProvider = defaultHealthProvider()
|
|
315
|
+
): Promise<ProviderAvailability> {
|
|
299
316
|
if (Platform.OS === 'android') {
|
|
300
317
|
if (!isAndroidHealthProvider(provider)) {
|
|
301
|
-
return
|
|
318
|
+
return ProviderAvailability.NotInstalled;
|
|
302
319
|
}
|
|
303
|
-
|
|
320
|
+
|
|
321
|
+
return await VitalHealthReactNative.providerAvailability(provider);
|
|
304
322
|
} else {
|
|
305
|
-
return provider ===
|
|
323
|
+
return provider === IOSHealthProvider.AppleHealthKit && Platform.OS === 'ios'
|
|
324
|
+
? ProviderAvailability.Installed
|
|
325
|
+
: ProviderAvailability.NotInstalled;
|
|
306
326
|
}
|
|
307
327
|
}
|
|
308
328
|
|
|
@@ -326,7 +346,8 @@ export class VitalHealth {
|
|
|
326
346
|
healthConfig.iOSConfig.backgroundDeliveryEnabled,
|
|
327
347
|
healthConfig.numberOfDaysToBackFill,
|
|
328
348
|
healthConfig.logsEnabled,
|
|
329
|
-
healthConfig.connectionPolicy
|
|
349
|
+
healthConfig.connectionPolicy,
|
|
350
|
+
healthConfig.iOSConfig.sleepDataAllowlist ?? null
|
|
330
351
|
);
|
|
331
352
|
}
|
|
332
353
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export enum ProviderAvailability {
|
|
2
|
+
/**
|
|
3
|
+
* Apple HealthKit, Health Connect, or Samsung Health.
|
|
4
|
+
*
|
|
5
|
+
* There is an active Apple HealthKit, Samsung Health, or Health Connect installation
|
|
6
|
+
* on this device.
|
|
7
|
+
*/
|
|
8
|
+
Installed = 'installed',
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Health Connect or Samsung Health.
|
|
12
|
+
*
|
|
13
|
+
* No Samsung Health or Health Connect installation has been detected on this device.
|
|
14
|
+
*/
|
|
15
|
+
NotInstalled = 'notInstalled',
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Health Connect or Samsung Health.
|
|
19
|
+
*
|
|
20
|
+
* The SDK being used is incompatible with the Samsung Health or Health Connect installation.
|
|
21
|
+
*/
|
|
22
|
+
NotSupportedSDK = 'notSupportedSDK',
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Samsung Health only.
|
|
26
|
+
*
|
|
27
|
+
* Samsung Health has been installed, but the onboarding experience is incomplete.
|
|
28
|
+
* So all the SDK methods are blocked.
|
|
29
|
+
*/
|
|
30
|
+
OnboardingIncomplete = 'onboardingIncomplete',
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Samsung Health only.
|
|
34
|
+
*
|
|
35
|
+
* Samsung Health has been installed. But your App Package ID has not yet been allowlisted
|
|
36
|
+
* by Samsung. Contact Samsumg Developer Support.
|
|
37
|
+
*
|
|
38
|
+
* If you are testing on your device, you can enable Samsung Health developer mode.
|
|
39
|
+
* See https://developer.samsung.com/health/data/guide/developer-mode.html for the instructions.
|
|
40
|
+
*/
|
|
41
|
+
AppNotAllowed = 'appNotAllowed',
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Samsung Health only.
|
|
45
|
+
*
|
|
46
|
+
* Samsung Health has been installed, but we fail to estsblish a functional service connection
|
|
47
|
+
* to Samsung Health. This edge case can happen when Samsung Health is installed while your app
|
|
48
|
+
* is active. The only solution today as of June 10, 2026 appears to be closing and restarting
|
|
49
|
+
* your app.
|
|
50
|
+
*/
|
|
51
|
+
ServiceUnavailable = 'serviceUnavailable',
|
|
52
|
+
}
|