Skip to main content

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 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

  • 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+)

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 IntegrationInitConfigUtils for usage in Flutter and React Native libraries
  • Additional check in getIntegrationInitUrl for 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 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
  • 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 Record type

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 metric: VO2MAX available in getRecords and getActivities
  • 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 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

  1. Add background delivery (see documentation for more information)
  2. Health Connect library updated to 1.1.0-alpha11
  3. Compile SDK and target SDK updated to 35
  4. Updated kotlin version to 1.9.25
  5. Updated other dependencies
  6. Add log callback
  7. Update 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

  1. Update steps intraday to better check for manual entries
  2. Add permissions specific to steps_intraday

3.1.5

  1. Check for permissions before reading additional sleep data

3.1.4

  1. Add metadata in Calories raw data

3.1.3

  1. Revert 3.1.2 changes

3.1.2

  1. Add 3rd party integration initialization

3.1.1

  1. Remove unneeded settings from android manifest

3.1.0

  1. Better way to authenticate with API
  2. Add saved session validation before connection is established
  3. Add customer user id validation.

3.0.19

  1. Add safeguard for to handle multiple sources of sleep data and avoid illogical values

3.0.18

  1. Add new logic for detecting changes in intraday_steps metadata

3.0.17

  1. Remove the limitation that prevented values from being sent when requested period is more than a day
  2. Now calculating stage time by stages in sleep data

3.0.16

  1. Update metadata info in intraday_steps to have all values as single objects
  2. Refactor how decision whether to send metadata with intraday_steps is made

3.0.15

  1. Add all metadata info to each intraday_steps data object

3.0.14

  1. Fix sleep time counting by different stages

3.0.13

  1. Add additional source field to sleep data class

3.0.11

  1. Fix data type StepsIntraday handling

3.0.9

  1. Add new Spike data type - IntradaySteps

3.0.8

  1. Update package checker function to avoid unnecessary check for Android 14 and up versions.

3.0.7

  1. Can get permission contract before SpikeConnection is created

3.0.6

  1. Move permission checking before data extraction to SDK connection layer

3.0.5

  1. Extracting heart data fixed

3.0.4

  1. Added support for Android 14
  2. Update Readme to match Android 14 imlementation process
  3. Fixed some issues with data requesting for specified date range

3.0.2:

  1. Activity summary and activity stream can be called without granting all their permissions. Returned data depends on which permissions were provided.
  2. Permission requests are divided by datatypes.
  3. Works up to Android 13.
I