4.3.144
- Added Nutrition AI features for analyzing food images. For more information please visit our documentation.
analyzeNutrition(imageBase64, consumedAt, config)- Analyze food image synchronously and wait for resultssubmitNutritionForAnalysis(imageBase64, consumedAt, config)- Analyze food image asynchronously, returns record IDgetNutritionRecords(from, to)- Retrieve nutrition records for a date rangegetNutritionRecord(id)- Get a specific nutrition record by IDdeleteNutritionRecord(id)- Delete a nutrition recordupdateNutritionRecordServingSize(id, servingSize)- Update serving size for a nutrition record
- Added new
Provider:- luna
- Added new
ProviderSourcetypes:- fitbitSkinTemperatureSummary
- garminWellnessSkinTemperatureSummary
- lunaSleep
- Removed
ProviderSourcetypes:- fitbitUserActivitiesList
- fitbitUserActivitiesDate
- fitbitUserActivitiesHeartDate
- fitbitUserActivitiesHeartDateInterday
- withingsMeasureGetWorkouts
- withingsMeasureGetActivity
- withingsMeasureGetMeas
- Removed
ActivityTag:- onBicycle
- Removed
Provider:- wahoo
4.3.134
- Update Android SDK to
4.3.102- Enable Health Connect integration in admin console right after enabling integration
- Enable Samsung Health Data integration in admin console right after enabling integration
- Update iOS SDK to
4.3.121- Enable HealthKit integration in admin console right after requesting permissions
4.3.124
- Added ability to read mindfulness activities:
- Added ability to check Android Health Connect features availability:
- Added new ActivityTag types:
- mindfulness
- Added new ActivityType types:
- ecgMeasurement
- triathlon
- biathlon
- duathlon
- rollerblading
- skateboarding
- skating
- calisthenics
- weightLifting
- canoeing
- floorball
- jiuJitsu
- diving
- orienteering
- bootcamp
- motorsports
- horseriding
- paragliding
- multisport
- bloodTest
- mindfulnessSession
- Added new ProviderSource types:
- appleHealthkitMindfulness
- healthConnectMindfulnessSession
- Added a new ActivityCategory type:
- mindfulness
- Updated Android SDK to
4.3.92- Updated Health connect to
1.1.0-rc03 - Updated compileSdk to
36 - Updated gradle to
8.13 android.permission.health.READ_MINDFULNESSuser permission should be added toAndroidManifest.xmlfile
- Updated Health connect to
- Updated iOS SDK to
4.3.111
4.3.114
- Updated Android SDK to
4.3.82:- Workaround for the Android 15 bug to make background delivery more resilient
- More efficient pushes to Spike API
4.3.104
- Updated Android SDK to
4.3.72:- Allow reading
SPO2andSWIMMING_LENGTHSingetActivities - Allow reading
SPO2andSKIN_TEMPERATUREingetSleeps
- Allow reading
- Updated iOS SDK to
4.3.101:- Improved how sleep data is read for sleep score
4.3.94
- Updated Android SDK to
4.3.62:- Optimized background delivery
4.3.84
- Added
.corosProvider - Updated
ProviderSourceenum - Added statistics:
stressScore,recoveryScore,activityScore - Updated Android SDK to
4.3.52:- Added
Provider.COROS - Updated
ProviderSourceenum - Added new Statistic types:
- STRESS_SCORE
- RECOVERY_SCORE
- ACTIVITY_SCORE
- Added new Metric types for
getSleeprequest:- 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
- Updated iOS SDK to
4.3.91:- Added
.corosProvider - Updated
ProviderSourceenum - 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
getSleeprequest:- 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
spikeApiTokenand delete it.
- Added
4.3.74
- Added new
SpikeSDKV3.setLogCallback()method to receive logs from the native SDK. Example usage: - Added a new metric type:
glucose
- Updated Android SDK to
4.3.42:- New
MetricType.GLUCOSEavailable in both Health Connect and Samsung Health - Update Samsung Health Data SDK to version 1.0.0 (available only on Android 29+)
- New
- Updated iOS SDK to
4.3.81:- Added
MetricType:.glucose
- Added
4.3.64
- Updated Android SDK to
4.3.93:- Deprecated the old Spike
SpikeSDK - Switch to protobuf java-lite 3.25.5 for better compatibility with firebase
- Deprecated the old Spike
- Updated iOS SDK to
4.3.71:- Deprecated the old Spike
SpikeSDK - Added
disableHealthKitIntegrationandisHealthKitIntegrationEnabledfunctions in spike connection
- Deprecated the old Spike
4.3.54
- Added 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
4.3.44
- 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:
StatisticTypes:- 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
MetricTypes: - 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: sleepBreathingRatetobreathingRatesleepBreathingRateMintobreathingRateMinsleepBreathingRateMaxtobreathingRateMax
- Added new
4.3.34
- Updated native iOS SDK Version to
4.3.41- IntegrationInitConfig is now codable
- Additional check in
getIntegrationInitUrlfor email in ultrahuman integration
- Updated native Android SDK Version to
4.2.82- Added
IntegrationInitConfigUtilsfor usage in Flutter and React Native libraries - Additional check in
getIntegrationInitUrlfor email in ultrahuman integration
- Added
- New provider:
ultrahumanWhen integrating with Ultrahuman, you have to provide ultrahuman user email inIntegrationInitConfig.providerUserIdentifier. Example:
4.3.24
- 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 acceptsIntegrationInitConfigconfig 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 thestatevalue originally sentproviderUserIdentifier: at the moment used (and required) only when integrating with ultrahuman
- New provider:
ultrahumanWhen 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- Added new
MetricTypes:- 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 acceptsIntegrationInitConfigconfig 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 thestatevalue originally sentproviderUserIdentifier: at the moment used (and required) only when integrating with ultrahuman
- Added new provider:
ultrahumanWhen integrating with Ultrahuman, you have to provide Ultrahuman user email inIntegrationInitConfig.providerUserIdentifier. Example:
- Added new
4.3.14
- Updated native iOS SDK Version to
4.3.11- Improved transport protocol for even faster requests to Spike API
- Added new statistic metrics: heartrate, heartrateMax, heartrateMin, heartrateResting
- Updated native Android SDK Version to
4.2.62- Added new statistic metrics:
- HEARTRATE_RESTING
- SLEEP_DURATION_TOTAL
- Added new statistic metrics (only from non-HealthConnect providers):
- HEARTRATE
- HEARTRATE_MIN
- HEARTRATE_MAX
- Metric types updates
- Better proguard settings for uniqueness of generated class names
- Fixed statistics when in different time zones
- Added consumer proguard rules
- Added new statistic metrics:
4.2.74
- Removed outdated example. Please follow Flutter SDK Usage Guide.
4.2.64
- Updated readme file
4.2.54
- Updated native iOS SDK Version to iOS 4.2.41
- Fixed the date format in JSON push
4.2.44
- Fixed JSON parsing of user info response
4.2.34
- Added 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 the Record type
4.2.24
- Added new metric:
VO2MAXavailable ingetRecordsandgetActivities - Changed hrv metric names:
hrvRmssd,hrvSdnn - Added new statistic:
sleepScore - Updated native iOS SDK Version to iOS 4.2.21
- Added new
getUserPropertiesmethod for reading: weight, height, timezone, birthdate, gender
- Added new
- Updated native Android SDK Version to 4.2.32
- Added new
getUserPropertiesmethod for reading: weight, height, timezone from Health Connect - Added new
getUserPropertiesmethod for reading: birthdate, gender from other providers
- Added new
4.2.14
- Updated native Android SDK Version to 4.2.12
- Updated native iOS SDK Version to 4.2.11
-
🔴 Breaking Change: Update to
SpikeSDKV3.createConnection. The methodSpike.createConnectionAPIv3({appId:, authToken:, customerEndUserId:})has been updated to:SpikeSDKV3.createConnection(applicationId:, signature:, endUserId:) -
The
applicationIdparameter must now be provided as anint. -
The
signatureparameter now requires anHMAC-SHA256signed 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:
SpikeSDKV3.createConnectionLegacy(appId:, authToken:, customerEndUserId:)
4.1.14
- Background delivery for both iOS and Android
- Added triathlon activity type
- Better error messages in iOS SpikeSDK wrapper
- Updated native Android SDK Version to 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
- Updated gradle to 8.8.0
- Updated native iOS SDK Version to 4.1.11
- Added background delivery
- Implemented sending more sleep data
4.0.14
- Completely new SDK! Please see our official documentation for more details and usage instructions
- Updated native Android SDK Version to 4.0.22
- Updated native iOS SDK Version to 4.0.12
- Added getIntegrationInitUrl method to SpikeConnectionV3: generates integration url for the given provider
1.3.3
- Android: Fixed build issue on AGP8+
1.3.2
- Updated native Android SDK Version to 3.1.4
- Added more raw data to calories request
1.3.1
- Updated native iOS SDK Version to 2.4.2:
- Added customer user id validation
- Updated native Android SDK Version to 3.1.1:
- Better way to authenticate with API
- Added saved session validation before the connection is established
- Added customer user id validation
1.3.0
- Added ECG handling in iOS.
- Added empty results when ECG is asked for on an Android device.
- Made connections array in iOS thread-safe.
- Updated structure of
SpikeSourcedata model. - README updated with ECG data type.
- Updated native iOS SDK Version to 2.4.1:
- Fix the timezone in case it changes while the app is running.
- Better way to authenticate with API.
- ECG support.
- Add trigger property to extractAndPostData request.
- Add cycling parameters to Activities stream data request.
1.2.10
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
- README updated.
1.2.9
- Updated native iOS SDK Version.
1.2.8
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
- PROD/DEV environments separation added.
- Background delivery handling is documented for the iOS.
- Method to disable background delivery introduced.
- setEnvironment method removed as environment must be set when creating the connection.
1.2.7
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
1.2.6
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
1.2.5
- SpikeStepData class name renamed into SpikeStepsData to keep aligned with Dart coding conventions.
- Intraday steps data introduced.
1.2.4
- Updated native Android SDK Version.
1.2.3
- Updated native Android SDK Version.
1.2.2
- Updated native Android SDK Version
1.2.1
- Updated native Android SDK Version
1.2.0
- Updated README with Android 14 set-up guide
- Ensured permissions are checked and requested when the user tries to extract the data
- Introduced ensurePermissionsAreGrantedV2 method, so it would become possible to get more information about what happened when requesting for permissions, which might be useful for Flutter Android apps
- Improved processing of the Health Connect permissions when a user cancels giving permissions, gives them partially, or performs some other unexpected behavior
- Updated native iOS SDK Version
1.1.1
- Android Native SDK version updated
1.1.0
- Updated iOS Native SDK version
- Updated Android Native SDK version
- Recreated Android Native SDK permissions handling
1.0.27
- Updated iOS Native SDK version
1.0.26
- Updated iOS Native SDK version
1.0.25
- Updated iOS Native SDK version
- Updated Android Native SDK version
- Added the method
isPackageInstalledto Android
1.0.24
- Updated iOS Native SDK version
1.0.23
- Updated iOS Native SDK version
- Updated Android Native SDK version
- Added more information on exceptions thrown in the README
1.0.22
- Updated iOS Native SDK version
1.0.21
- Updated iOS Native SDK version
1.0.20
- Updated native Android SDK version usage
- Made it possible to set the environment when using Android SDK
1.0.19
- Added the method
getSpikeEndUserIdinto theSpikeConnection
1.0.18
- Updated Android SDK integration
1.0.17
- Removed pack, unpack, since it is clients who need to manage their state
- Integrated web hook connections into
SpikeConnection - Reduced minimum SDK version to 28
- Reduced compile an SDK version to 33
- Updated examples
- Updated README
- Fully changed the integration with Android SDK
1.0.16
- Implemented returning boolean after requesting permissions.
1.0.15
- Native wrapping with native Android SDK release build issues resolved
- Resolved requesting permissions issues using native Android SDK
- Updated README
- Updated examples
1.0.14
- Native wrapping with native Android SDK finalized
1.0.13
- Introduced native wrapping with native Android SDK
- Introduced native wrapping with native iOS SDK
1.0.12
- Min iOS version reduced for the sleep data
1.0.11
- Updated README
- Updated examples
1.0.10
- Updated README
- Ensured dart doc is working
1.0.9
- Updated README
- Made sure that casting when using connection.extractData() is no longer needed
1.0.8
- Updated README
- Updated data keys expectations per changed backend
1.0.7
- iOS workouts reading problems resolved
- Made sure floors are added from the iOS data
- Added functionality that allows configuration of the background delivery tasks
- Added debouncing for the background delivery tasks of five seconds, so they would not trigger unnecessary sending to the backend
- Fixed an issue of reading sleep data. Ensured user is requested for additional permissions that are required to collect the statistics needed regarding sleep
- Made sure that in sleep statistics zeroes would be changed into null when no data is read
- Updated README with the background delivery example information
1.0.6
- Breathing data issues resolved
- Workouts reading issues resolved
- Updated README
- Updated SpikeSDK so that SpikeSDK.initialize() would not be needed as per documentation
1.0.5
- Better background delivery configuration into SpikeSDK added
1.0.4
- Improved logging
- Improved sending data to the backend
- Android Health Connect Core recreated using direct API for the Health Connect due to the failure of the Flutter package to properly convert data under the release mode
1.0.3
- Added more logging
- Fixed IDs usage
1.0.2
- Improved logging
1.0.1
- Fully rewritten of the communication with the backend
- Introduced reading the body data
- Improved calculation of time
- Added more logging
1.0.0
- Complete rewrite of the library to follow the Spike standards required
0.0.10
- Sleep data reading and sending support introduced
0.0.9
- Activity groups support introduced
0.0.8
- Removed some data for summary
- Workouts data times rounding added, so conversions would not fail
0.0.7
- Updated examples
- Summary data reading improved even further
- Added the way to send separate identifier data
- Updated README
0.0.6
- Introduced workout data reading
- Improved reading of summary data, and now all the summary data can be read
0.0.5
- Background delivery now takes the last three days for the data to be sent
- Removed calories, and basal energy burned introduced instead
0.0.4
- Background delivery support introduced
- Better code organization regarding storing some configured data in the storage
- Background delivery interval support introduced
- Improvements regarding date and time resolution when resolving or sending the data
0.0.3
- Made sure background tasks would take correct intervals to send the data
- Added more information to logging
- Made sure events logged would be sorted by the date in ascending order
0.0.2
- Improved handling of the background tasks registration
- Support to set custom task ID introduced to check if background tasks actually work
- Support for event tracking introduced. Tracking can be enabled or disabled
0.0.1
- Apple HealthKit data reading functionality with the ability to send this data to the server of your choice
