Skip to main content

4.3.102

  • Enable Health Connect integration in the admin console right after enabling integration
  • Enable Samsung Health Data integration in the admin console right after enabling integration
  • 🔴 Breaking Change: enableHealthConnectIntegration() is now a suspend function. Update your code to call it from a coroutine scope.
  • 🔴 Breaking Change: enableSamsungHealthDataIntegration() is now a suspend function. Update your code to call it from a coroutine scope.

4.3.92

  • Updated Health connect to 1.1.0-rc03
  • Updated compileSdk to 36
  • Updated gradle to 8.13
  • Removed providerUserIdentifier from IntegrationInitConfig
  • Added ability to read mindfulness activities:
if (spikeConnection.getHealthConnectPermissionManager()
                   .isFeatureAvailable(feature: HealthConnectFeature.FEATURE_MINDFULNESS_SESSION)) {
    spikeConnection.getActivities(
        config: ActivityConfig(activityCategories: [ActivityCategory.MINDFULNESS])
        from: dateFrom,
        to: dateTo
    )
}
  • Added new ActivityTag types:
    • MINDFULNESS
  • Added new ActivityType types:
    • 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 ProviderSource types:
    • APPLE_HEALTHKIT_MINDFULNESS
    • HEALTH_CONNECT_MINDFULNESS_SESSION
  • Added new ActivityCategory type:
    • 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 the Android 15 bug to make background delivery more resilient
  • Implemented more efficient pushes to Spike API

4.3.72

  • Allow reading SPO2 and SWIMMING_LENGTHS in getActivities
  • Allow reading SPO2 and SKIN_TEMPERATURE in getSleeps

4.3.62

  • Optimized background delivery

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

4.3.42

  • Added new MetricType.GLUCOSE available in both Health Connect and Samsung Health
  • Updated Samsung Health Data SDK to version 1.0.0 (available only on Android 29+)

4.3.32

  • Switched 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
  • Added new providers: DEXCOM, FREESTYLE_LIBRE, HUAWEI, STRAVA

4.3.12

  • Added new statistics for Health Connect:
    • HEARTRATE
    • HEARTRATE_MAX
    • HEARTRATE_MIN
  • Added 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 IntegrationInitConfigUtils for usage in Flutter and React Native libraries
  • Additional check in getIntegrationInitUrl for email in ultrahuman integration

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
  • Added new fields in UserProperties:
    • BODY_FAT
    • BODY_BONE_MASS
    • BODY_MASS_INDEX
  • Updated getIntegrationInitUrl. Now it accepts IntegrationInitConfig config 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 state value originally sent
    • providerUserIdentifier: at the moment used (and required) only when integrating with ultrahuman
  • Added new provider: ultrahuman When integrating with Ultrahuman, you have to provide Ultrahuman user email in IntegrationInitConfig.providerUserIdentifier. Example:
    spikeConnection.getIntegrationInitUrl(provider = Provider.ULTRAHUMAN, config = IntegrationInitConfig(providerUserIdentifier = "user@mail.com"))
    

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 the Record type

4.2.32

  • New getUserProperties method for reading: weight, height, timezone from Health Connect
  • New getUserProperties method for reading: birthdate, gender from other providers
  • New metric: VO2MAX available in getRecords and getActivities
  • New statistic: SLEEP_SCORE

4.2.22

  • Implemented better API error handling
  • Exposed 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:)
  • The applicationId parameter must now be provided as an Int.
  • The signature parameter now requires an HMAC-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: SpikeConnectionAPIv3.createConnectionLegacy(context:, appId:, authToken:, customerEndUserId:)

4.1.12

  • Added 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
  • Added log callback
  • Updated gradle to 8.8.0

4.0.22

Renamed getProviderIntegrationUrl 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 instructions

3.1.6

  • Updated steps intraday to better check for manual entries
  • Added permissions specific to steps_intraday

3.1.5

  • Implemented checking for permissions before reading additional sleep data

3.1.4

  • Added metadata in Calories raw data

3.1.3

  • Reverted 3.1.2 changes

3.1.2

  • Added third party integration initialization

3.1.1

  • Removed unneeded settings from android manifest

3.1.0

  • Better way to authenticate with API
  • Added saved session validation before the connection is established
  • Added customer user id validation.

3.0.19

  • Added safeguard for to handle multiple sources of sleep data and avoid illogical values

3.0.18

  • Added new logic for detecting changes in intraday_steps metadata

3.0.17

  • Removed the limitation that prevented values from being sent when the requested period is more than a day
  • Implemented calculation of time by sleep stage in sleep data

3.0.16

  • Updated metadata info in intraday_steps to have all values as single objects
  • Refactored how the decision whether to send metadata with intraday_steps is made

3.0.15

  • Added all metadata info to each intraday_steps data object

3.0.14

  • Fixed sleep time counting by different stages

3.0.13

  • Added a source field to the sleep data class

3.0.11

  • Fixed data type StepsIntraday handling

3.0.9

  • Added a new Spike data type — IntradaySteps

3.0.8

  • Updated the package checker function to avoid unnecessary checks for Android 14 and up versions.

3.0.7

  • Can get permission contract before SpikeConnection is created

3.0.6

  • Moved permission checking before data extraction to the SDK connection layer

3.0.5

  • Fixed extraction of heart data

3.0.4

  • Added support for Android 14
  • Updated Readme to match the Android 14 implementation process
  • Fixed some issues with data requesting for a 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.