spike_flutter_sdk 4.3.104
spike_flutter_sdk: ^4.3.104 copied to clipboard
Spike Health data reader for Android and iOS platforms.
4.3.104 #
- Update Android SDK to
4.3.72
:- Allow reading
SPO2
andSWIMMING_LENGTHS
ingetActivities
- Allow reading
SPO2
andSKIN_TEMPERATURE
ingetSleeps
- Allow reading
- Update iOS SDK to
4.3.101
:- Improved how sleep data is read for sleep score
4.3.94 #
- Update Android SDK to
4.3.62
:- Optimized background delivery
4.3.84 #
- Added
.coros
Provider
- Updated
ProviderSource
enum - Added statistics:
stressScore
,recoveryScore
,activityScore
- Update Android SDK to
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
- Added
- Update iOS SDK to
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.
- Added
4.3.74 #
- New
SpikeSDKV3.setLogCallback()
method to receive logs from the native SDK. Example usage:dart await SpikeSDKV3.setLogCallback( callback: (level, message) { print("[SpikeSDK.${level.toJson()}] $message"); }, );
- New metric type:
glucose
- Update Android SDK to
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+)
- New
- Update iOS SDK to
4.3.81
:- Added
MetricType
:.glucose
- Added
4.3.64 #
- The old SpikeSDK API has been deprecated
- Update Android SDK to
4.3.93
:- Switch to protobuf java-lite 3.25.5 for better compatibility with firebase
- The old SpikeSDK API has been deprecated
- Update iOS SDK to
4.3.71
:- The old SpikeSDK API has been deprecated
- Added
disableHealthKitIntegration
andisHealthKitIntegrationEnabled
functions in spike connection
4.3.54 #
- New providers added: dexcom, freestyleLibre, huawei, strava
- Added .distanceSwimming into the list of metrics available in activities
- Updated native iOS SDK Version to
4.3.61
- Updated native Android SDK Version to
4.3.22
4.3.44 #
- Added Samsung Health Integration on Android
- Updated native Android SDK Version to
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:
StatisticType
s:- 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
MetricType
s: - SLEEP_BREATHING_RATE to BREATHING_RATE
- SLEEP_BREATHING_RATE_MIN to BREATHING_RATE_MIN
- SLEEP_BREATHING_RATE_MAX to BREATHING_RATE_MAX
- Updated native iOS SDK Version to
4.3.51
:- Added new
Provider
: - samsungHealthData
- Added new
ProviderSource
: - samsungHealthDataAggregation
- Renamed
MetricTypes
: sleepBreathingRate
tobreathingRate
sleepBreathingRateMin
tobreathingRateMin
sleepBreathingRateMax
tobreathingRateMax
- Added new
4.3.34 #
- Updated native iOS SDK Version to
4.3.41
- IntegrationInitConfig is now codable
- Additional check in
getIntegrationInitUrl
for email in ultrahuman integration
- Updated native Android SDK Version to
4.2.82
- Added
IntegrationInitConfigUtils
for usage in Flutter and React Native libraries - Additional check in
getIntegrationInitUrl
for email in ultrahuman integration
- Added
- New provider:
ultrahuman
When integrating with Ultrahuman, you have to provide ultrahuman user email inIntegrationInitConfig.providerUserIdentifier
. Example:spikeConnection.getIntegrationInitUrl(provider: .ultrahuman, config: IntegrationInitConfig(providerUserIdentifier: "user@mail.com"))
4.3.24 #
- Updated native iOS SDK Version to
4.3.31
- Improve how statistics are read from HealthKit
- 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 acceptsIntegrationInitConfig
config object where you can pass:redirectUri
: will override the one set in admin consolestate
: when the authorization server redirects back to the client, it includes thestate
value originally sentproviderUserIdentifier
: 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 inIntegrationInitConfig.providerUserIdentifier
. Example:spikeConnection.getIntegrationInitUrl(provider: .ultrahuman, config: IntegrationInitConfig(providerUserIdentifier: "user@mail.com"))
- Improved transport protocol for background delivery
- Updated native Android SDK Version to
4.2.72
- New
MetricType
s 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 acceptsIntegrationInitConfig
config object where you can pass:redirectUri
: will override the one set in admin consolestate
: when the authorization server redirects back to the client, it includes thestate
value originally sentproviderUserIdentifier
: 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 inIntegrationInitConfig.providerUserIdentifier
. Example:spikeConnection.getIntegrationInitUrl(provider = Provider.ULTRAHUMAN, config = IntegrationInitConfig(providerUserIdentifier = "user@mail.com"))
- New
4.3.14 #
- Updated native iOS SDK Version to
4.3.11
- Improved transport protocol for even faster requests to Spike API
- New statistics: heartrate, heartrateMax, heartrateMin, heartrateResting
- Updated native Android SDK Version to
4.2.62
- 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
- Added consumer proguard rules
- New statistics:
4.2.74 #
- Removed outdated example. For examples, please follow official documentation.
4.2.64 #
- Updated readme file
4.2.54 #
- Updated native iOS SDK Version to iOS 4.2.41
- Fix date format in json push
4.2.44 #
- Fix user info response json parsing
4.2.34 #
- 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())
- Updated native iOS SDK Version to iOS 4.2.31
- Updated native Android SDK Version to 4.2.42
- Added sleepScore property in Record type
4.2.24 #
- New metric:
VO2MAX
available ingetRecords
andgetActivities
- Changed hrv metric names:
hrvRmssd
,hrvSdnn
- New statistic:
sleepScore
- Updated native iOS SDK Version to iOS 4.2.21
- New
getUserProperties
method for reading: weight, height, timezone, birth date, gender
- New
- Updated native Android SDK Version to 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
4.2.14 #
- Updated native Android SDK Version to 4.2.12
- Updated native iOS SDK Version to 4.2.11
🔴 Breaking Change: Update to SpikeSDKV3.createConnection
#
The method Spike.createConnectionAPIv3({appId:, authToken:, customerEndUserId:})
has been updated to:
SpikeSDKV3.createConnection(applicationId:, signature:, endUserId:)
Key Changes:
- The
applicationId
parameter must now be provided as anint
. - The
signature
parameter now requires anHMAC-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:
SpikeSDKV3.createConnectionLegacy(appId:, authToken:, customerEndUserId:)
4.1.14 #
- Background delivery for both iOS and Android
- Added triathlon activity type
- Better error messages in iOS SpikeSDK wrapper
- Updated native Android SDK Version to 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
- Updated gradle to 8.8.0
- Updated native iOS SDK Version to 4.1.11
- Add background delivery
- Send more sleep data
4.0.14 #
- Completely new SDK! Please see our official documentation for more details and usage instructions
- Updated native Android SDK Version to 4.0.22
- Updated native iOS SDK Version to 4.0.12
- Added getIntegrationInitUrl method to SpikeConnectionV3: generates integration url for the given provider
1.3.3 #
- Android: Fixed build issue on AGP8+
1.3.2 #
- Updated native Android SDK Version to 3.1.4
- Add more raw data to calories request
1.3.1 #
- Updated native iOS SDK Version to 2.4.2:
- Add customer user id validation
- Updated native Android SDK Version to 3.1.1:
- Better way to authenticate with API
- Add saved session validation before connection is established
- Add customer user id validation
1.3.0 #
- Added ECG handling in iOS.
- Added empty results when ECG is asked for on Android device.
- Made connections array in iOS thread-safe.
- Updated structure of
SpikeSource
data model. - README updated with ECG data type.
- Updated native iOS SDK Version to 2.4.1:
- Fix timezone in case it changes while the app is running.
- Better way to authenticate with API.
- ECG support.
- Add trigger property to extractAndPostData request.
- Add cycling parameters to Activities stream data request.
1.2.10 #
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
- README updated.
1.2.9 #
- Updated native iOS SDK Version.
1.2.8 #
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
- PROD/DEV environments separation added.
- Background delivery handling documented for the iOS.
- Method to disable background delivery introduced.
- setEnvironment method removed as environment must be set when creating the connection.
1.2.7 #
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
1.2.6 #
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
1.2.5 #
- SpikeStepData class name renamed into SpikeStepsData to keep aligned with Dart coding conventions.
- Intraday steps data introduced.
1.2.4 #
- Updated native Android SDK Version.
1.2.3 #
- Updated native Android SDK Version.
1.2.2 #
- Updated native Android SDK Version.
1.2.1 #
- Updated native Android SDK Version.
1.2.0 #
- Updated README with Android 14 set-up guide.
- Ensured permissions are checked and requested when user tries to extract the data.
- Introduced ensurePermissionsAreGrantedV2 method, so it would become possible to get more information about what happened when requesting for permissions which might be useful for Flutter Android apps.
- Improved processing of the Health Connect permissions when user cancels giving permissions, gives them partially, or performs some other unexpected behavior.
- Updated native iOS SDK Version.
1.1.1 #
- Android Native SDK version updated.
1.1.0 #
- iOS Native SDK version updated.
- Android Native SDK version updated.
- Android Native SDK permissions handling recreated.
1.0.27 #
- iOS Native SDK version updated.
1.0.26 #
- iOS Native SDK version updated.
1.0.25 #
- iOS Native SDK version updated.
- Android Native SDK version updated.
- Method 'isPackageInstalled' added to Android.
1.0.24 #
- iOS Native SDK version updated.
1.0.23 #
- iOS Native SDK version updated.
- Android Native SDK version updated.
- Added more information on exceptions thrown in the README.
1.0.22 #
- iOS Native SDK version updated.
1.0.21 #
- iOS Native SDK version updated.
1.0.20 #
- Native Android SDK version usage updated.
- Made possible to set the environment when using Android SDK.
1.0.19 #
- Method 'getSpikeEndUserId' added into the SpikeConnection.
1.0.18 #
- Android SDK integration changed.
1.0.17 #
- pack, unpack removed, since it is clients who need to manage their state.
- Web hook connections integrated into SpikeConnection.
- Minimum SDK version reduced to 28.
- Compile SDK version reduced to 33.
- Examples updated.
- README updated.
- Integration with Android SDK changed completely.
1.0.16 #
- Return boolean after requesting permissions.
1.0.15 #
- Native wrapping with native Android SDK release build issues resolved.
- Requesting permissions issues resolved using native Android SDK.
- README changed.
- Example code changed.
1.0.14 #
- Native wrapping with native Android SDK finalized.
1.0.13 #
- Native wrapping with native Android SDK introduced.
- Native wrapping with native iOS SDK introduced.
1.0.12 #
- Min iOS version reduced for the sleep data.
1.0.11 #
- README updated.
- Example updated.
1.0.10 #
- README updated.
- Ensured dart doc is working.
1.0.9 #
- README updated.
- Made sure that casting when using connection.extractData(<...>) is no longer needed.
1.0.8 #
- README improved.
- Data keys expectations changed per changed backend.
1.0.7 #
- iOS workouts reading problems resolved.
- Made sure floors are added from the iOS data.
- Added functionality that allows configuration of the background delivery tasks.
- Added debouncing for the background delivery tasks of five seconds, so they would not trigger unnecessary sending to the backend.
- Fixed an issue of reading sleep data. Ensured user is requested for additional permissions that are required in order to collect the statistics needed regarding sleep.
- Made sure that in sleep statistics zeroes would be changed into null when no data is read.
- Updated README with the background delivery example information.
1.0.6 #
- Breathinng data issues resolved.
- Workouts reading issues resolved.
- README updated.
- SpikeSDK changed, so SpikeSDK.initialize() would not be needed as per documentation.
1.0.5 #
- Better background delivery configuration into SpikeSDK added.
1.0.4 #
- Logging improvements.
- Sending data to backend improvements.
- Android Health Connect Core recreated using direct API for the Health Connect due to failure of Flutter package to properly convert data under the release mode.
1.0.3 #
- More logging added.
- IDs usage fixed.
1.0.2 #
- Better logging.
1.0.1 #
- Complete rewrite of the communication with backend.
- Reading the body data introduced.
- Calculating time improved.
- More logging added.
1.0.0 #
- Complete rewrite of the library to follow the Spike standards required.
0.0.10 #
- Sleep data reading and sending support introduced.
0.0.9 #
- Activity groups support introduced.
0.0.8 #
- Removed some data for summary.
- Workouts data times rounding added, so conversions would not fail.
0.0.7 #
- Example updated.
- Summary data reading improved even further.
- Added the way to send separate identifier data.
- README updated.
0.0.6 #
- Workout data reading introduced.
- Summary data reading improved, and now all of the summary data can be read.
0.0.5 #
- Background delivery now takes last three days for the data to be sent.
- calories removed, and basal energy burned introduced instead.
0.0.4 #
- Background delivery support introduced.
- Better code organization regarding storing some configured data in the storage.
- Background delivery interval support introduced.
- Improvements regarding date and time resolution when resolving or sending the data.
0.0.3 #
- Made sure background tasks would take correct intervals to send the data.
- Added more information to logging.
- Made sure events logged would be sorted by the date in an ascending order.
0.0.2 #
- Improved handling of the background tasks registration.
- Support to set custom task ID introduced to check if background tasks actually work.
- Support for event tracking introduced. Tracking can be enabled or disabled.
0.0.1 #
- Apple HealthKit data reading functionality with ability to send this data to the server of your choice.