spike_flutter_sdk 4.7.14 copy "spike_flutter_sdk: ^4.7.14" to clipboard
spike_flutter_sdk: ^4.7.14 copied to clipboard

Spike Health data reader for Android and iOS platforms.

4.7.14 #

  • Removed the deprecated v1/v2 connection API
  • Updated Android SDK to 4.7.12
  • Updated iOS SDK to 4.7.11

4.6.14 #

  • Updated Android SDK to 4.6.12
  • Updated iOS SDK to 4.6.11
  • Added support for nutritional fields in permission, backfill, and background delivery flows. The following methods now accept an optional nutritionalFields parameter:
    • requestPermissionsFromHealthKit (iOS)
    • requestPermissionsFromHealthKitAndBackfill (iOS)
    • requestPermissionsFromSamsungHealthDataAndBackfill (Android)
    • requestPermissionsFromHealthConnectAndBackfill (Android)
    • requestHealthPermissions (Android Samsung Health Data)
    • getHealthConnectPermissions (Android)
    • backfill
    • enableBackgroundDelivery
    await spikeConnection.backfill(
      statisticTypes: statisticTypes,
      metricTypes: metricTypes,
      activityConfigs: [activityConfig],
      sleepConfigs: [sleepConfig],
      nutritionalFields: [NutritionalField.energyKcal, NutritionalField.proteinG],
    );
    
  • BackgroundDeliveryConfig now exposes nutritionalFields describing which nutritional fields are enabled for background delivery.

4.5.24 #

  • Updated Android SDK to 4.5.22
  • Updated iOS SDK to 4.5.21
  • Added backfill on the v3 connection to upload historical health data for a chosen number of days. Call it after you have granted the relevant permissions (HealthKit on iOS; Health Connect and/or Samsung Health Data on Android).
    await spikeConnection.backfill(
      statisticTypes: statisticTypes,
      metricTypes: metricTypes,
      activityConfigs: [activityConfig],
      sleepConfigs: [sleepConfig],
    );
    
  • iOS (HealthKit): added requestPermissionsFromHealthKitAndBackfill — requests read permissions for the given categories, then starts a backfill. Data for today and yesterday is pushed before the call resolves; older days continue in the background.
    await spikeConnection.requestPermissionsFromHealthKitAndBackfill(
      statisticTypes: statisticTypes,
      metricTypes: metricTypes,
      activityConfigs: [activityConfig],
      sleepConfigs: [sleepConfig],
    );
    
  • Android (Samsung Health Data): added requestPermissionsFromSamsungHealthDataAndBackfill — enables Samsung Health Data integration, requests permissions for the given categories, then starts a backfill.
  • Android (Health Connect): added requestPermissionsFromHealthConnectAndBackfill — enables Health Connect integration, requests permissions for the given categories, then starts a backfill.
  • iOS: If after updating you get errors while building iOS app please do following:
    1. rm -rf ios/Pods/ ios/Podfile.lock - delete old pods
    2. cd ios; pod install --repo-update - install updated pods
    3. Open project in Xcode and do a full clean: Product -> Clean build folder or Shift + Command + K

4.5.14 #

  • Added RecordConfig for configuring records queries:
    • includeSamples - whether to include samples (raw data points) in the response
  • Updated getRecords to accept an optional RecordConfig parameter:
    spikeConnection.getRecords(
        ofTypes: metricTypes,
        from: startDate,
        to: endDate,
        filter: StatisticsFilter(excludeManual: true),
        config: RecordConfig(includeSamples: true),
    )
    
  • Fixed ActivityConfig parsing
  • Updated Android SDK to 4.5.12
  • Updated iOS SDK to 4.5.11
    • IMPORTANT! If after updating you get errors while building iOS app please do following:
      1. rm -rf ios/Pods/ ios/Podfile.lock - delete old pods
      2. cd ios; pod install --repo-update - install updated pods
      3. Open project in XCode 26 and do a full clean: Product -> Clean build folder or Shift + Command + K

4.4.14 #

  • Updated Android SDK to 4.4.12
  • Updated iOS SDK to 4.4.11
  • Updated Unit enum with new values:
    • Added: miles, mPerSec, fahrenheit, ms, seconds, degrees, sleepStage, secPerM, rpm, spm, breathsPerMin, g, lbs, st, mmHg, mLPerKgPerMin, uV, mgPerDl, w
    • Removed: kmh, kmPerMin
  • Improved data communication with API
  • Enhanced the getSleep endpoint. Important:
    • Dates provided are now interpreted as dates only; the time component is ignored when querying the API.
    • The primary night sleep period is associated with the calendar date on which it ends.

4.3.184 #

  • Updated Android SDK to 4.3.142
    • Internal improvements
  • Updated iOS SDK to 4.3.161
    • Better Nutrition Facts Label Recognition response parsing

4.3.174 #

  • MetricType: added namespace with metric allowlists for API requests:
    • MetricType.availableForRecordsRequest – list of metric types available for records requests
    • MetricType.availableForActivitiesRequest – list of metric types available for activities requests
    • MetricType.availableForSleepRequest – list of metric types available for sleep requests
    • MetricType.availableForPersonRequest – list of metric types available for person requests
  • Updated iOS SDK to 4.3.151:
    • Improved data push to API
    • Fixed workout digest generation for caching
    • Improved client cache configuration

4.3.164 #

  • Updated Android SDK to 4.3.132:
    • Samsung Health Data Integration - Major Expansion:
    • Added support for reading and pushing the following data types from Samsung Health:
      • Workouts (exercises)
      • Sleep data
      • Body composition data (weight, height, BMI, body fat)
      • User profile data (weight, height, birth date, gender)
      • Blood pressure measurements
      • Skin temperature measurements
      • Heart rate measurements
      • Blood oxygen saturation (SpO2) measurements
      • Body temperature measurements
    • More efficient Samsung Health Data pushes
    • Large Samsung Health Data pushes are now automatically split into smaller chunks for reliable delivery
    • Large Health Connect pushes are now automatically split into smaller chunks for reliable delivery

4.3.154 #

  • Added Nutrition Facts Label Recognition for extracting nutritional information from label photos. For more information please visit our documentation.
    • recognizeNutritionFactsLabel({required String imageBase64, NutritionFactsLabelRecognitionConfig? config}) - Analyze a nutrition facts label image and extract nutritional data
  • Added methods for manual nutrition record management:
    • createNutritionRecord(NutritionRecord nutritionRecord) - Insert a new nutrition record with custom data
    • replaceNutritionRecord(NutritionRecord nutritionRecord) - Replace an existing nutrition record completely
  • Added NutritionRecordUtils for creating and manipulating nutrition records:
    • NutritionRecordUtils.create({...}) - Create a new nutrition record with specified properties
    • record.withIngredient(ingredient) - Add an ingredient to a record
    • record.withoutIngredient(ingredient) - Remove an ingredient from a record
    • record.withServingSize(servingSize, unit) - Update serving size and unit
  • Added NutritionRecordIngredientUtils for creating and manipulating ingredients:
    • NutritionRecordIngredientUtils.create({...}) - Create a new nutrition record ingredient
    • ingredient.withNutritionalField(nutritionalField, value) - Set a nutritional field value
    • ingredient.withoutNutritionalField(nutritionalField) - Remove a nutritional field
    • ingredient.withScaledServingSize(newServingSize) - Scale serving size and nutritional values proportionally
  • Nutrition AI methods now return NutritionRecordAnalysisResult instead of NutritionRecord. This separates processing metadata (status, failure reason) from the actual nutrition data. The following methods are affected:
    • analyzeNutrition() → returns Future<NutritionRecordAnalysisResult>
    • getNutritionRecords() → returns Future<List<NutritionRecordAnalysisResult>>
    • getNutritionRecord() → returns Future<NutritionRecordAnalysisResult?>
    • updateNutritionRecordServingSize() → returns Future<NutritionRecordAnalysisResult>
    • createNutritionRecord() → returns Future<NutritionRecordAnalysisResult>
    • replaceNutritionRecord() → returns Future<NutritionRecordAnalysisResult> The NutritionRecordAnalysisResult contains:
    • recordId - The record ID
    • status - Processing status (pending, processing, completed, failed, updated)
    • failureReason - Reason for failure (if status is failed)
    • uploadedAt - Upload timestamp
    • nutritionRecord - The actual NutritionRecord (null if status is not completed/updated)
  • Update Android SDK to 4.3.122
  • Update iOS SDK to 4.3.141
    • IMPORTANT! If after updating you get errors while building iOS app please do following:
      1. rm -rf ios/Pods/ ios/Podfile.lock - delete old pods
      2. cd ios; pod install --repo-update - install updated pods
      3. Open project in XCode 26 and do a full clean: Product -> Clean build folder or Shift + Command + K

4.3.144 #

  • Added Nutrition AI features for analyzing food images. For more information please visit our documentation.
    • analyzeNutrition(imageBase64, consumedAt, config) - Analyze food image synchronously and wait for results
    • submitNutritionForAnalysis(imageBase64, consumedAt, config) - Analyze food image asynchronously, returns record ID
    • getNutritionRecords(from, to) - Retrieve nutrition records for a date range
    • getNutritionRecord(id) - Get a specific nutrition record by ID
    • deleteNutritionRecord(id) - Delete a nutrition record
    • updateNutritionRecordServingSize(id, servingSize) - Update serving size for a nutrition record
  • Added new Provider:
    • luna
  • Added new ProviderSource types:
    • fitbitSkinTemperatureSummary
    • garminWellnessSkinTemperatureSummary
    • lunaSleep
  • Removed ProviderSource types:
    • fitbitUserActivitiesList
    • fitbitUserActivitiesDate
    • fitbitUserActivitiesHeartDate
    • fitbitUserActivitiesHeartDateInterday
    • withingsMeasureGetWorkouts
    • withingsMeasureGetActivity
    • withingsMeasureGetMeas
  • Removed ActivityTag:
    • onBicycle
  • Removed Provider:
    • wahoo

4.3.134 #

  • Update Android SDK to 4.3.102
    • Enable Health Connect integration in admin console right after enabling integration
    • Enable Samsung Health Data integration in admin console right after enabling integration
  • Update iOS SDK to 4.3.121
    • Enable HealthKit integration in admin console right after requesting permissions

4.3.124 #

  • Added ability to read mindfulness activities:
spikeConnection.getActivities(
    config: ActivityConfig(activityCategories: {ActivityCategory.mindfulness})
    from: dateFrom,
    to: dateTo
)
  • Added ability to check Android Health Connect features availability:
const isMindfulessAvailable = spikeConnection.isHealthConnectFeatureAvailable(HealthConnectFeature.FEATURE_MINDFULNESS_SESSION)
  • 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 a new ActivityCategory type:
    • mindfulness
  • Updated Android SDK to 4.3.92
    • Updated Health connect to 1.1.0-rc03
    • Updated compileSdk to 36
    • Updated gradle to 8.13
    • android.permission.health.READ_MINDFULNESS user permission should be added to AndroidManifest.xml file
  • Updated iOS SDK to 4.3.111

4.3.114 #

  • Updated Android SDK to 4.3.82:
    • Workaround for the Android 15 bug to make background delivery more resilient
    • More efficient pushes to Spike API

4.3.104 #

  • Updated Android SDK to 4.3.72:
    • Allow reading SPO2 and SWIMMING_LENGTHS in getActivities
    • Allow reading SPO2 and SKIN_TEMPERATURE in getSleeps
  • Updated iOS SDK to 4.3.101:
    • Improved how sleep data is read for sleep score

4.3.94 #

  • Updated Android SDK to 4.3.62:
    • Optimized background delivery

4.3.84 #

  • Added .coros Provider
  • Updated ProviderSource enum
  • Added statistics: stressScore, recoveryScore, activityScore
  • Updated 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
  • Updated 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.

4.3.74 #

  • Added 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"); }, );
  • Added a new metric type:
    • glucose
  • Updated 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+)
  • Updated iOS SDK to 4.3.81:
    • Added MetricType: .glucose

4.3.64 #

  • Updated Android SDK to 4.3.93:
    • Deprecated the old Spike SpikeSDK
    • Switch to protobuf java-lite 3.25.5 for better compatibility with firebase
  • Updated iOS SDK to 4.3.71:
    • Deprecated the old Spike SpikeSDK
    • Added disableHealthKitIntegration and isHealthKitIntegrationEnabled functions in spike connection

4.3.54 #

  • Added 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:
    • 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
  • Updated native iOS SDK Version to 4.3.51:
    • Added new Provider:
    • samsungHealthData
    • Added new ProviderSource:
    • samsungHealthDataAggregation
    • Renamed MetricTypes:
    • sleepBreathingRate to breathingRate
    • sleepBreathingRateMin to breathingRateMin
    • sleepBreathingRateMax to breathingRateMax

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

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 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
  • Updated native Android SDK Version to 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
      • 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.3.14 #

  • Updated native iOS SDK Version to 4.3.11
    • Improved transport protocol for even faster requests to Spike API
    • Added new statistic metrics: heartrate, heartrateMax, heartrateMin, heartrateResting
  • Updated native Android SDK Version to 4.2.62
    • Added new statistic metrics:
      • HEARTRATE_RESTING
      • SLEEP_DURATION_TOTAL
    • Added new statistic metrics (only from non-HealthConnect providers):
      • HEARTRATE
      • HEARTRATE_MIN
      • HEARTRATE_MAX
    • Metric types updates
    • Better proguard settings for uniqueness of generated class names
    • Fixed statistics when in different time zones
    • Added consumer proguard rules

4.2.74 #

  • Removed outdated example. Please follow Flutter SDK Usage Guide.

4.2.64 #

  • Updated readme file

4.2.54 #

  • Updated native iOS SDK Version to iOS 4.2.41
    • Fixed the date format in JSON push

4.2.44 #

  • Fixed JSON parsing of user info response

4.2.34 #

  • 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())
  • Updated native iOS SDK Version to iOS 4.2.31
  • Updated native Android SDK Version to 4.2.42
  • Added sleepScore property in the Record type

4.2.24 #

  • Added new metric: VO2MAX available in getRecords and getActivities
  • Changed hrv metric names: hrvRmssd, hrvSdnn
  • Added new statistic: sleepScore
  • Updated native iOS SDK Version to iOS 4.2.21
    • Added new getUserProperties method for reading: weight, height, timezone, birthdate, gender
  • Updated native Android SDK Version to 4.2.32
    • Added new getUserProperties method for reading: weight, height, timezone from Health Connect
    • Added new getUserProperties method for reading: birthdate, gender from other providers

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

  • 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: 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
    • Added background delivery
    • Implemented sending 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
    • Added more raw data to calories request

1.3.1 #

  • Updated native iOS SDK Version to 2.4.2:
    • Added customer user id validation
  • Updated native Android SDK Version to 3.1.1:
    • Better way to authenticate with API
    • Added saved session validation before the connection is established
    • Added customer user id validation

1.3.0 #

  • Added ECG handling in iOS.
  • Added empty results when ECG is asked for on an 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 the 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 is 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 the 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 a 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 #

  • Updated iOS Native SDK version
  • Updated Android Native SDK version
  • Recreated Android Native SDK permissions handling

1.0.27 #

  • Updated iOS Native SDK version

1.0.26 #

  • Updated iOS Native SDK version

1.0.25 #

  • Updated iOS Native SDK version
  • Updated Android Native SDK version
  • Added the method isPackageInstalled to Android

1.0.24 #

  • Updated iOS Native SDK version

1.0.23 #

  • Updated iOS Native SDK version
  • Updated Android Native SDK version
  • Added more information on exceptions thrown in the README

1.0.22 #

  • Updated iOS Native SDK version

1.0.21 #

  • Updated iOS Native SDK version

1.0.20 #

  • Updated native Android SDK version usage
  • Made it possible to set the environment when using Android SDK

1.0.19 #

  • Added the method getSpikeEndUserId into the SpikeConnection

1.0.18 #

  • Updated Android SDK integration

1.0.17 #

  • Removed pack, unpack, since it is clients who need to manage their state
  • Integrated web hook connections into SpikeConnection
  • Reduced minimum SDK version to 28
  • Reduced compile an SDK version to 33
  • Updated examples
  • Updated README
  • Fully changed the integration with Android SDK

1.0.16 #

  • Implemented returning boolean after requesting permissions.

1.0.15 #

  • Native wrapping with native Android SDK release build issues resolved
  • Resolved requesting permissions issues using native Android SDK
  • Updated README
  • Updated examples

1.0.14 #

  • Native wrapping with native Android SDK finalized

1.0.13 #

  • Introduced native wrapping with native Android SDK
  • Introduced native wrapping with native iOS SDK

1.0.12 #

  • Min iOS version reduced for the sleep data

1.0.11 #

  • Updated README
  • Updated examples

1.0.10 #

  • Updated README
  • Ensured dart doc is working

1.0.9 #

  • Updated README
  • Made sure that casting when using connection.extractData() is no longer needed

1.0.8 #

  • Updated README
  • Updated data keys expectations 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 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 #

  • Breathing data issues resolved
  • Workouts reading issues resolved
  • Updated README
  • Updated SpikeSDK so that SpikeSDK.initialize() would not be needed as per documentation

1.0.5 #

  • Better background delivery configuration into SpikeSDK added

1.0.4 #

  • Improved logging
  • Improved sending data to the backend
  • Android Health Connect Core recreated using direct API for the Health Connect due to the failure of the Flutter package to properly convert data under the release mode

1.0.3 #

  • Added more logging
  • Fixed IDs usage

1.0.2 #

  • Improved logging

1.0.1 #

  • Fully rewritten of the communication with the backend
  • Introduced reading the body data
  • Improved calculation of time
  • Added more logging

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 #

  • Updated examples
  • Summary data reading improved even further
  • Added the way to send separate identifier data
  • Updated README

0.0.6 #

  • Introduced workout data reading
  • Improved reading of summary data, and now all the summary data can be read

0.0.5 #

  • Background delivery now takes the last three days for the data to be sent
  • Removed calories, 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 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 the ability to send this data to the server of your choice
8
likes
110
points
1.16k
downloads

Documentation

API reference

Publisher

verified publisherspikeapi.com

Weekly Downloads

Spike Health data reader for Android and iOS platforms.

Homepage

License

MIT (license)

Dependencies

flutter

More

Packages that depend on spike_flutter_sdk

Packages that implement spike_flutter_sdk