4.3.92
- Removed providerUserIdentifierfromIntegrationInitConfig
- Added ability to read mindfulness activities:
- Added new ActivityTagtypes:- MINDFULNESS
 
- Added new ActivityTypetypes:- ECG_MEASUREMENT
- TRIATHLON
- BIATHLON
- DUATHLON
- ROLLERBLADING
- SKATEBOARDING
- SKATING
- CALISTHENICS
- WEIGHT_LIFTING
- CANOEING
- FLOORBALL
- JIU_JITSU
- DIVING
- ORIENTEERING
- BOOTCAMP
- MOTORSPORTS
- HORSERIDING
- PARAGLIDING
- MULTISPORT
- BLOOD_TEST
- MINDFULNESS_SESSION
 
- Added new ProviderSourcetypes:- APPLE_HEALTHKIT_MINDFULNESS
- HEALTH_CONNECT_MINDFULNESS_SESSION
 
- Added new ActivityCategorytype:- MINDFULNESS
 
- Added new HealthConnectFeature:- FEATURE_MINDFULNESS_SESSION
 
- Added new MetricType:- HEARTRATE_RESTING_MIN
- HEARTRATE_RESTING_MAX
- CADENCE
- CADENCE_MIN
- CADENCE_MAX
- PACE
- AIR_TEMPERATURE
- BODY_TEMPERATURE_MAX
- BODY_TEMPERATURE_MIN
- BASAL_BODY_TEMPERATURE
- BASAL_BODY_TEMPERATURE_MAX
- BASAL_BODY_TEMPERATURE_MIN
- SKIN_TEMPERATURE_MAX
- SKIN_TEMPERATURE_MIN
- SLEEP_SKIN_TEMPERATURE_DEVIATION
 
- Added new StatisticsType:- SLEEP_SKIN_TEMPERATURE_DEVIATION
- HRV_RMSSD
- HRV_SDNN
 
4.3.82
- Workaround for Android 15 bug to make background delivery more resilient
- More efficient pushes to Spike API
4.3.72
- Allow reading SPO2andSWIMMING_LENGTHSingetActivities
- Allow reading SPO2andSKIN_TEMPERATUREingetSleeps
4.3.62
- Optimized background delivery
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
 
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+)
4.3.32
- Switch to protobuf java-lite 3.25.5 for better compatibility with firebase
- The old SpikeSDK API has been deprecated
4.3.22
- Added DISTANCE_SWIMMING into the list of metrics available in activities
- New providers added: DEXCOM, FREESTYLE_LIBRE, HUAWEI, STRAVA
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
 
4.2.82
- Added IntegrationInitConfigUtilsfor usage in Flutter and React Native libraries
- Additional check in getIntegrationInitUrlfor email in ultrahuman integration
4.2.72
- New MetricTypes 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 acceptsIntegrationInitConfigconfig object where you can pass:- redirectUri: will override the one set in admin console
- state: when the authorization server redirects back to the client, it includes the- statevalue originally sent
- providerUserIdentifier: 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:
4.2.62
- Added consumer proguard rules
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
4.2.42
- New metrics:
- SPO2
- BODY_TEMPERATURE
- SKIN_TEMPERATURE
- SLEEP_BREATHING_RATE (available only on getSleep())
- SLEEP_BREATHING_RATE_MIN (available only on getSleep())
- SLEEP_BREATHING_RATE_MAX (available only on getSleep())
- SLEEP_BREATHING_RATE_AVG (available only on getSleep())
 
- Added sleepScore property in Record type
4.2.32
- New getUserPropertiesmethod for reading: weight, height, timezone from Health Connect
- New getUserPropertiesmethod for reading: birth date, gender from other providers
- New metric: VO2MAXavailable ingetRecordsandgetActivities
- New statistic: SLEEP_SCORE
4.2.22
- Better API error handling
- Expose SpikeHMACSignatureGenerator for debugging purposes
4.2.12
🔴 Breaking Change: Update to SpikeConnectionAPIv3.createConnection
The method SpikeConnectionAPIv3.createConnection(context:, appId:, authToken:, customerEndUserId:) has been updated to:
SpikeConnectionAPIv3.createConnection(context:, applicationId:, signature:, endUserId:)
Key Changes:
- 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:SpikeConnectionAPIv3.createConnectionLegacy(context:, appId:, authToken:, customerEndUserId:)
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
4.0.22
RenamedgetProviderIntegrationUrl to getIntegrationInitUrl to be on par with other platforms
4.0.12
Completely new SDK! Please see our official documentation for more details and usage instructions3.1.6
- Update steps intraday to better check for manual entries
- Add permissions specific to steps_intraday
3.1.5
- Check for permissions before reading additional sleep data
3.1.4
- Add metadata in Calories raw data
3.1.3
- Revert 3.1.2 changes
3.1.2
- Add 3rd party integration initialization
3.1.1
- Remove unneeded settings from android manifest
3.1.0
- Better way to authenticate with API
- Add saved session validation before connection is established
- Add customer user id validation.
3.0.19
- Add safeguard for to handle multiple sources of sleep data and avoid illogical values
3.0.18
- Add new logic for detecting changes in intraday_steps metadata
3.0.17
- Remove the limitation that prevented values from being sent when requested period is more than a day
- Now calculating stage time by stages in sleep data
3.0.16
- Update metadata info in intraday_steps to have all values as single objects
- Refactor how decision whether to send metadata with intraday_steps is made
3.0.15
- Add all metadata info to each intraday_steps data object
3.0.14
- Fix sleep time counting by different stages
3.0.13
- Add additional source field to sleep data class
3.0.11
- Fix data type StepsIntraday handling
3.0.9
- Add new Spike data type - IntradaySteps
3.0.8
- Update package checker function to avoid unnecessary check for Android 14 and up versions.
3.0.7
- Can get permission contract before SpikeConnection is created
3.0.6
- Move permission checking before data extraction to SDK connection layer
3.0.5
- Extracting heart data fixed
3.0.4
- Added support for Android 14
- Update Readme to match Android 14 imlementation process
- Fixed some issues with data requesting for specified date range
3.0.2:
- Activity summary and activity stream can be called without granting all their permissions. Returned data depends on which permissions were provided.
- Permission requests are divided by datatypes.
- Works up to Android 13.
