Skip to main content

4.3.121

  • Implemented enabling HealthKit integration in the admin console right after requesting permissions

4.3.111

  • Removed providerUserIdentifier from IntegrationInitConfig
  • Added ability to read mindfulness activities:
spikeConnection.getActivities(
    configured: ActivityConfig(activityCategories: [.mindfulness])
    from: dateFrom,
    to: dateTo
)
  • 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 new ActivityCategory type:
    • mindfulness
  • Added new MetricType:
    • heartrateRestingMin
    • heartrateRestingMax
    • cadence
    • cadenceMin
    • cadenceMax
    • pace
    • airTemperature
    • bodyTemperatureMax
    • bodyTemperatureMin
    • basalBodyTemperature
    • basalBodyTemperatureMax
    • basalBodyTemperatureMin
    • skinTemperatureMax
    • skinTemperatureMin
    • sleepSkinTemperatureDeviation
  • Added new StatisticsType:
    • sleepSkinTemperatureDeviation
    • hrvRmssd
    • hrvSdnn
  • Fixed typo in metric type: swimmingLengths (was incorrectly spelled as swimming_lenghts)

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
  • Added new providers: .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

  • Added new metric types:
    • bodyFat
    • bodyFatMax
    • bodyFatMin
    • bodyBoneMass
    • bodyMassIndex
    • bloodPressureSystolic
    • bloodPressureSystolicMax
    • bloodPressureSystolicMin
    • bloodPressureDiastolic
    • bloodPressureDiastolicMax
    • bloodPressureDiastolicMin
  • Added 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

  • Improved how statistics are read from HealthKit

4.3.11

  • Improved transport protocol for even faster requests to Spike API
  • Added new statistic metrics: heartrate, heartrateMax, heartrateMin, heartrateResting

4.2.31

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

4.2.21

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

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

4.1.11

  • Added background delivery
  • Added log callback
  • Added more sleep data to be sent

4.0.11

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

2.4.5

  • Fixed the cache issue in the release process

2.4.4

  • Reverted version 2.4.3
  • Implemented reading more distance fields in a workout object from HealthKit

2.4.3

  • Added third party integration initialization.
  • Implemented reading more distance fields in a workout object from HealthKit

2.4.2

  • Added customer user id validation.

2.4.1

  • Fixed the timezone in case it changes while the app is running

2.4.0

  • Implemented a better way to authenticate with API
  • Added ECG

2.3.2

  • Added trigger property to extractAndPostData request

2.3.1

  • Added cycling parameters to Activities stream data request

2.3.0

  • Removed environment configuration

2.2.3

  • Added prop provider_timestamp to an Activities summary model

2.2.2

  • Included intraday entries of a Steps intraday data type for range requests

2.2.1

  • Added handling Steps an intraday entries metadata object

2.2.0

  • Aligned SpikeData wrapper model with the server

2.1.14

  • Fixed date range parsing

2.1.13

  • Step intraday data improvements

2.1.12

  • Step intraday data improvements

2.1.11

  • Expose isHealthDataAvailable method

2.1.10

  • Use iso8601 standardized Calendar