Spike ReactNative SDK Changelog
4.3.153
- Added documentation
4.3.143
- Fixed building iOS on Expo 54+ with New Architecture
- Updated Expo android manifest script
- Update Android SDK to
4.3.82
:- Workaround for Android 15 bug to make background delivery more resilient
- More efficient pushes to Spike API
4.3.133
- New
Spike.setLogCallback()
method to receive logs from the native SDK:
- Fixed
getBackgroundDeliveryConfig()
method to beasync getBackgroundDeliveryConfig(): Promise<BackgroundDeliveryConfig | null>
- Update Android SDK to
4.3.72
:- Allow reading
SPO2
andSWIMMING_LENGTHS
ingetActivities
- Allow reading
SPO2
andSKIN_TEMPERATURE
ingetSleeps
- Allow reading
- Update iOS SDK to
4.3.101
:- Improved how sleep data is read for sleep score
4.3.123
- Update Android SDK to
4.3.62
:- Optimized background delivery
4.3.113
- Added
.coros
Provider
- Updated
ProviderSource
enum - Update Android SDK to
4.3.52
:- Added
Provider.COROS
- Updated
ProviderSource
enum - Added new Statistic types:
- STRESS_SCORE
- RECOVERY_SCORE
- ACTIVITY_SCORE
- Added new Metric types for
getSleep
request:- SLEEP_DURATION
- SLEEP_DURATION_AWAKE
- SLEEP_DURATION_DEEP
- SLEEP_DURATION_LIGHT
- SLEEP_DURATION_NAP
- SLEEP_DURATION_REM
- SLEEP_EFFICIENCY
- SLEEP_INTERRUPTIONS
- SLEEP_LATENCY
- SLEEP_SCORE
- Added
- Update iOS SDK to
4.3.91
:- Added
.coros
Provider
- Updated
ProviderSource
enum - Improved the way data is sent to API to reduce the size and speed of calls to Spike
- Added new Statistic types:
- stressScore
- recoveryScore
- activityScore
- Added new Metric types for
getSleep
request:- sleepDuration
- sleepDurationAwake
- sleepDurationDeep
- sleepDurationLight
- sleepDurationNap
- sleepDurationRem
- sleepEfficiency
- sleepInterruptions
- sleepLatency
- sleepScore
- Better keychain compatibility
NOTE: If you use the keychain in your app with a service name equal to your bundle
identifier, please check if it contains key named
spikeApiToken
and delete it.
- Added
4.3.103
- New metric type:
glucose
- Update Android SDK to
4.3.42
:- New
MetricType.GLUCOSE
available in both Health Connect and Samsung Health - Update Samsung Health Data SDK to version 1.0.0 (available only on Android 29+)
- New
- Update iOS SDK to
4.3.81
:- Added
MetricType
:.glucose
- Added
4.3.93
- The old SpikeSDK API has been deprecated
- Added
disableHealthKitIntegration
andisHealthKitIntegrationEnabled
functions for iOS HealthKit - Update Android SDK to
4.3.32
:- Switch to protobuf java-lite 3.25.5 for better compatibility with firebase
- The old SpikeSDK API has been deprecated
- Update iOS SDK to
4.3.71
:- The old SpikeSDK API has been deprecated
- Added
disableHealthKitIntegration
andisHealthKitIntegrationEnabled
functions in spike connection
4.3.83
- New providers added: dexcom, freestyleLibre, huawei, strava
- Added .distanceSwimming into the list of metrics available in activities
- Updated native iOS SDK Version to
4.3.61
- Updated native Android SDK Version to
4.3.22
- Fixed prop names in SpikeRecord and Statistic data models
4.3.73
- Updated React native to 0.79
- Enhanced Expo support:
- Added a plugin to automatically configure the Android app by updating the necessary fields in
build.gradle
files andAndroidManifest.xml
, including handling specified permissions. - Enabled configuration of iOS HealthKit permission texts directly from the plugin settings.
- Added support for enabling background delivery via plugin configuration.
- Added a plugin to automatically configure the Android app by updating the necessary fields in
app.json
:
4.3.63
- Added Samsung Health Integration on Android
- Updated native Android SDK Version to
4.3.12
:- New statistics for Health Connect:
- HEARTRATE
- HEARTRATE_MAX
- HEARTRATE_MIN
- New metrics for Health Connect:
- HEARTRATE
- HEARTRATE_MAX
- HEARTRATE_MIN
- Improved transport protocol for even faster requests to Spike API
- Added Samsung Health Integration for:
StatisticType
s:- STEPS
- DISTANCE_TOTAL
- CALORIES_BURNED_ACTIVE
- CALORIES_BURNED_TOTAL
- CALORIES_BURNED_BASAL
- Added new
Provider
: - SAMSUNG_HEALTH_DATA
- Added new
ProviderSource
: - SAMSUNG_HEALTH_DATA_AGGREGATION
- Renamed
MetricType
s: - SLEEP_BREATHING_RATE to BREATHING_RATE
- SLEEP_BREATHING_RATE_MIN to BREATHING_RATE_MIN
- SLEEP_BREATHING_RATE_MAX to BREATHING_RATE_MAX
- Updated native iOS SDK Version to
4.3.51
:- Added new
Provider
: - samsungHealthData
- Added new
ProviderSource
: - samsungHealthDataAggregation
- Renamed
MetricTypes
: sleepBreathingRate
tobreathingRate
sleepBreathingRateMin
tobreathingRateMin
sleepBreathingRateMax
tobreathingRateMax
- Added new
4.3.53
- Catch all exception types in Android module
4.3.43
- Added missing parameter in
getHealthConnectPermissions
4.3.33
- Updated native iOS SDK Version to
4.3.31
- Improve how statistics are read from HealthKit
- New metric types:
- bodyFat
- bodyFatMax
- bodyFatMin
- bodyBoneMass
- bodyMassIndex
- bloodPressureSystolic
- bloodPressureSystolicMax
- bloodPressureSystolicMin
- bloodPressureDiastolic
- bloodPressureDiastolicMax
- bloodPressureDiastolicMin
- New fields in
UserProperties
:- bodyBoneMass
- bodyFat
- bodyMassIndex
- Updated
getIntegrationInitUrl
. Now it acceptsIntegrationInitConfig
config object where you can pass:redirectUri
: will override the one set in admin consolestate
: when the authorization server redirects back to the client, it includes thestate
value originally sentproviderUserIdentifier
: at the moment used (and required) only when integrating with ultrahuman
- New provider:
ultrahuman
When integrating with Ultrahuman, you have to provide ultrahuman user email inIntegrationInitConfig.providerUserIdentifier
. Example: - Improved transport protocol for background delivery
- Updated native Android SDK Version to
4.2.72
- New
MetricType
s added:- BODY_FAT
- BODY_FAT_MAX
- BODY_FAT_MIN
- BODY_BONE_MASS
- BODY_MASS_INDEX
- BLOOD_PRESSURE_SYSTOLIC
- BLOOD_PRESSURE_SYSTOLIC_MIN
- BLOOD_PRESSURE_SYSTOLIC_MAX
- BLOOD_PRESSURE_DIASTOLIC
- BLOOD_PRESSURE_DIASTOLIC_MIN
- BLOOD_PRESSURE_DIASTOLIC_MAX
- New fields in
UserProperties
: - BODY_FAT
- BODY_BONE_MASS
- BODY_MASS_INDEX
- Updated
getIntegrationInitUrl
. Now it acceptsIntegrationInitConfig
config object where you can pass:redirectUri
: will override the one set in admin consolestate
: when the authorization server redirects back to the client, it includes thestate
value originally sentproviderUserIdentifier
: at the moment used (and required) only when integrating with ultrahuman
- New provider:
ultrahuman
When integrating with Ultrahuman, you have to provide Ultrahuman user email inIntegrationInitConfig.providerUserIdentifier
. Example:
- New
- Updated native iOS SDK Version to
4.3.41
- IntegrationInitConfig is now codable
- Additional check in
getIntegrationInitUrl
for email in ultrahuman integration
- Updated native Android SDK Version to
4.2.82
- Added
IntegrationInitConfigUtils
for usage in Flutter and React Native libraries - Additional check in
getIntegrationInitUrl
for email in ultrahuman integration
- Added
- New provider:
ultrahuman
When integrating with Ultrahuman, you have to provide ultrahuman user email inIntegrationInitConfig.providerUserIdentifier
. Example:
4.3.23
- Updated native iOS SDK Version to
4.3.21
- Improve how statistics are read from HealthKit
- Updated native Android SDK Version to
4.2.62
- Added consumer proguard rules
4.3.13
- Updated native iOS SDK Version to
4.3.11
- Improved transport protocol for even faster requests to Spike API
- New statistics: heartrate, heartrateMax, heartrateMin, heartrateResting
- Updated native Android SDK Version to
4.2.52
- New statistics:
- HEARTRATE_RESTING
- SLEEP_DURATION_TOTAL
- New statistics (only from non-HealthConnect providers):
- HEARTRATE
- HEARTRATE_MIN
- HEARTRATE_MAX
- Metric types updates
- Better proguard settings for uniqueness of generated class names
- Fix for statistics in different time zones
- New statistics:
4.2.73
- Updated readme file
4.2.63
- Updated native iOS SDK Version to iOS 4.2.41
- Fix date format in json push
4.2.53
- Fixed typo in method name:
getGrantedHealthKitPermissions
in now properly calledgetGrantedHealthConnectPermissions
4.2.43
- Add support for React Native New Architecture (interop)
4.2.33
- New metrics:
- spo2
- bodyTemperature
- skinTemperature (available only on getSleep())
- sleepBreathingRate (available only on getSleep())
- sleepBreathingRateMin (available only on getSleep())
- sleepBreathingRateMax (available only on getSleep())
- sleepBreathingRateAvg (available only on getSleep())
- Updated native iOS SDK Version to iOS 4.2.31
- Updated native Android SDK Version to 4.2.42
- Added sleepScore property in Record type
4.2.23
- New metric:
vo2Max
available ingetRecords
andgetActivities
- Changed hrv metric names:
hrvRmssd
,hrvSdnn
- New statistic:
sleepScore
- Updated native iOS SDK Version to iOS 4.2.21
- New
getUserProperties
method for reading: weight, height, timezone, birth date, gender
- New
- Updated native Android SDK Version to 4.2.32
- New
getUserProperties
method for reading: weight, height, timezone from Health Connect - New
getUserProperties
method for reading: birth date, gender from other providers
- New
4.2.13
Android Spike SDK: 4.2.12
iOS Spike SDK: 4.2.11
🔴 Breaking Change: Update to Spike.createConnectionAPIv3
The method Spike.createConnectionAPIv3({appId:, authToken:, customerEndUserId:})
has been updated to:
Spike.createConnectionAPIv3({applicationId:, signature:, endUserId:})
Key Changes:
- The
applicationId
parameter must now be provided as annumber
. - The
signature
parameter now requires anHMAC-SHA256
signed user ID. - ⚠️ Security Notice:
- Do not store your HMAC signing key within the application itself, as this poses a security risk.
- Instead, generate and provide the signature from your backend.
Legacy Support:
For development purposes only, the previous connection flow remains available under the renamed method:Spike.createConnectionAPIv3Legacy({appId:, authToken:, customerEndUserId:})
4.1.23
Fixed typescript definitions4.1.13
Background deliveryAndroid Spike SDK: 4.1.12
- Add background delivery (see documentation for more information)
- Health Connect library updated to 1.1.0-alpha11
- Compile SDK and target SDK updated to 35
- Updated kotlin version to 1.9.25
- Updated other dependencies
- Add log callback
- Update gradle to 8.8.0
iOS Spike SDK: 4.1.11
- Add background delivery
- Add log callback
- Send more sleep data
4.0.23
Android Spike SDK: 4.0.22
iOS Spike SDK: 4.0.11
Updated Android SDK4.0.13
Android Spike SDK: 4.0.12
iOS Spike SDK: 4.0.11
Completely new SDK! Please see our official documentation for more details and usage instructions2.5.8
Android Spike SDK: 3.1.6
iOS Spike SDK: 2.4.5
- Android: Update steps intraday to better check for manual entries
- Android: Add permissions specific to steps_intraday
2.5.7
Android Spike SDK: 3.1.5
iOS Spike SDK: 2.4.5
- Android: check for permissions before reading additional sleep data
2.5.6
Android Spike SDK: 3.1.4
iOS Spike SDK: 2.4.5
- Android: update to newest SDK version
2.5.5
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.5
- iOS: update to newest SDK version
2.5.4
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.4
- iOS: Read more distance fields in workout object from HealthKit
2.5.3
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.2
- Pin iOS SDK version
2.5.2
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.2
- iOS: Add customer user id validation
- Android: Better way to authenticate with API
- Android: Add saved session validation before connection is established
- Android: Add customer user id validation.
2.5.1
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.4.1
- iOS: Fix an issue when timezone changes while app is running.
2.5.0
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.4.0
- iOS: Add ECG data type.
2.4.5
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- Android: Fix an issue caused by calling spikeSDK methods from different threads at the same time.
2.4.4
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- iOS: Fix an issue caused by calling spikeSDK methods from different threads at the same time.
2.4.3
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- Add Background deliveries support for Expo managed projects.
2.4.2
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- iOS: Add trigger extractAndPostData request done from background.
2.4.1
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.1
- iOS: Send cycling parameters with Activities stream data
- PROD & DEV Environments no longer supported.
2.3.7
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.2.3
- Android: Add new logic for detecting changes in intraday_steps metadata.
- Android: Add safeguard for to handle multiple sources of sleep data and avoid illogical values.
2.3.6
Android Spike SDK: 3.0.17
iOS Spike SDK: 2.2.3
- Add providerTimestamp to Activities Summary data model.
2.3.5
Android Spike SDK: 3.0.17
iOS Spike SDK: 2.2.2
- Android: Remove the limitation that prevented values from being sent when requested period is more than a day.
- Android: Now calculating stage time by stages in sleep data.
- iOS: Include intraday entries of Steps intraday data type for range requests.
2.3.3
Android Spike SDK: 3.0.15
iOS Spike SDK: 2.2.1
- Add metadata object for Spike intraday entries.
2.3.2
Android Spike SDK: 3.0.11
iOS Spike SDK: 2.2.0
- Android: add safeguards for edge cases when function could be called without necessary data.
2.3.1
Android Spike SDK: 3.0.11
iOS Spike SDK: 2.2.0
- Android: improve Android wrapper.
2.3.0
Android Spike SDK: 3.0.11
iOS Spike SDK: 2.2.0
- iOS: SpikeData wrapper model aligned with server.
2.2.11
Android Spike SDK: 3.0.10
iOS Spike SDK: 2.1.14
- iOS: Fix date range parsing.
2.2.10
Android Spike SDK: 3.0.10
iOS Spike SDK: 2.1.13
- Android: Step intraday data improvements.
2.2.9
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.13
- Step intraday data improvements.
2.2.8
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.12
- iOS: Step intraday data improvements.
2.2.7
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.11
- Allow request multiple permission for Android using
requestHealthPermissions
method. Provide single Spike data type or array of Spike data types.
2.2.6
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.11
- iOS: Add method to check Health Store data availability (isHealthDataAvailable).
2.2.5
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.10
- Android: Can get permission contract before SpikeConnection is created.
- Android: Update package checker function to avoid unnecessary check for Android 14 and up versions.
2.2.4
Android Spike SDK: 3.0.6
iOS Spike SDK: 2.1.10
- Android: Move permission checking before data extraction to SDK connection layer
2.2.3
Android Spike SDK: 3.0.5
iOS Spike SDK: 2.1.10
- Android: Extracting heart data fixed
2.2.2
Android Spike SDK: 3.0.4
iOS Spike SDK: 2.1.10
- Android: Added support for Android 14.
- Android: Fixed some issues with data requesting for specified date range.
2.2.1
Android Spike SDK: 3.0.2
iOS Spike SDK: 2.1.10
- iOS: Spike SDK now use iso8601 standardized Calendar.
2.2.0
Android Spike SDK: 3.0.2
iOS Spike SDK: 2.1.9
- Android: Activity summary and activity stream can be called without granting all their permissions. Returned data depends on which permissions were provided.
- Android: Android Permission requests are divided by data types.
checkPermissionsGranted
now requires Spike data type.
SpikeConnection method requestHealthPermissions
now requires Spike data type.
See more: Permissions section
- Android: Works up to Android 13.