Skip to main content

Spike iOS SDK Changelog

4.3.101

  • Improved how sleep data is read for sleep score

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.

4.3.81

  • Added MetricType: .glucose

4.3.71

  • The old SpikeSDK API has been deprecated
  • Added disableHealthKitIntegration and isHealthKitIntegrationEnabled functions in spike connection

4.3.61

  • Added .distanceSwimming into the list of metrics available in activities
  • New providers added: .dexcom, .freestyleLibre, .huawei, .strava

4.3.51

  • Added new Provider:
    • samsungHealthData
  • Added new ProviderSource:
    • samsungHealthDataAggregation
  • Renamed MetricTypes:
    • sleepBreathingRate to breathingRate
    • sleepBreathingRateMin to breathingRateMin
    • sleepBreathingRateMax to breathingRateMax

4.3.41

  • IntegrationInitConfig is now codable
  • Additional check in getIntegrationInitUrl for email in ultrahuman integration

4.3.31

  • 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 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: .ultrahuman, config: IntegrationInitConfig(providerUserIdentifier: "user@mail.com"))
    
  • Improved transport protocol for background delivery

4.3.21

  • Improve how statistics are read from HealthKit

4.3.11

  • Improved transport protocol for even faster requests to Spike API
  • New statistics: heartrate, heartrateMax, heartrateMin, heartrateResting

4.2.31

  • Added sleepScore property in Record type
  • 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())

4.2.21

  • New getUserProperties method for reading: weight, height, timezone, birth date, gender
  • New metric: VO2max (Cardio Fitness)
  • New statistic: sleep score

Version 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 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: Spike.createConnectionAPIv3_legacy(appId:, authToken:, customerEndUserId:)

Version 4.1.11

  1. Add background delivery
  2. Add log callback
  3. Send more sleep data

Version 4.0.11

Completely new SDK! Please see our official documentation for more details and usage instructions.

Version 2.4.5

  1. Fixed cache issue in release process

Version 2.4.4

  1. Revert version 2.4.3
  2. Read more distance fields in workout object from HealthKit.

Version 2.4.3

  1. Add 3rd party integration initialization.
  2. Read more distance fields in workout object from HealthKit.

Version 2.4.2

  1. Add customer user id validation.

Version 2.4.1

  1. Fix timezone in case it changes while the app is running.

Version 2.4.0

  1. Better way to authenticate with API.
  2. Add ECG.

Version 2.3.2

  1. Add trigger property to extractAndPostData request.

Version 2.3.1

  1. Add cycling parameters to Activities stream data request.

Version 2.3.0

  1. Remove environment configuration.

Version 2.2.3

  1. Add prop provider_timestamp to Activities summary model.

Version 2.2.2

  1. Include intraday entries of Steps intraday data type for range requests.

Version 2.2.1

  1. Handle Steps intraday entries metadata object.

Version 2.2.0

  1. SpikeData wrapper model aligned with server.

Version 2.1.14

  1. Fix date range parsing.

Version 2.1.13

  1. Step intraday data improvements.

Version 2.1.12

  1. Step intraday data improvements.

Version 2.1.11

  1. Expose isHealthDataAvailable method.

Version 2.1.10

  1. Use iso8601 standardized Calendar.
I