spike_flutter_sdk 1.0.4
spike_flutter_sdk: ^1.0.4 copied to clipboard
Reads HealthKit data from iOS HealthKit, and syncs it with Spike backend.
Use this package as a library
Depend on it
Run this command:
With Flutter:
$ flutter pub add spike_flutter_sdk
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get
):
dependencies:
spike_flutter_sdk: ^1.0.4
Alternatively, your editor might support flutter pub get
. Check the docs for your editor to learn more.
Import it
Now in your Dart code, you can use:
import 'package:spike_flutter_sdk/background/background_delivery_worker.dart';
import 'package:spike_flutter_sdk/bridge/adapters/date_time_adapter.dart';
import 'package:spike_flutter_sdk/bridge/adapters/hc_adapter.dart';
import 'package:spike_flutter_sdk/bridge/adapters/hk_reporter_adapter.dart';
import 'package:spike_flutter_sdk/bridge/adapters/http_client_adapter.dart';
import 'package:spike_flutter_sdk/bridge/adapters/shared_preferences_adapter.dart';
import 'package:spike_flutter_sdk/bridge/adapters/uuid_adapter.dart';
import 'package:spike_flutter_sdk/bridge/dependencies.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/activity_level_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/bool_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/date_value_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/list_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/number_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/object_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/sleep_level_type_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/spike_activity_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/spike_data_type_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/string_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/deserialization/value_list_deserializer.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_connection_is_closed_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_invalid_credentials_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_invalid_data_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_invalid_date_range_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_invalid_postback_url_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_not_supported_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_sdk_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_server_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/exceptions/spike_unpack_exception.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/spike_sdk_error.dart';
import 'package:spike_flutter_sdk/bridge/error_handling/spike_sdk_error_text.dart';
import 'package:spike_flutter_sdk/bridge/extensions/date_time_extension.dart';
import 'package:spike_flutter_sdk/bridge/extensions/num_extension.dart';
import 'package:spike_flutter_sdk/bridge/extensions/sleep_level_type_extension.dart';
import 'package:spike_flutter_sdk/bridge/extensions/sleep_record_extension.dart';
import 'package:spike_flutter_sdk/bridge/extensions/spike_data_type_extension.dart';
import 'package:spike_flutter_sdk/bridge/extensions/string_extension.dart';
import 'package:spike_flutter_sdk/bridge/providers/http_client_provider.dart';
import 'package:spike_flutter_sdk/bridge/spike_health_connect/data_types.dart';
import 'package:spike_flutter_sdk/bridge/spike_health_connect/spike_health_connect.dart';
import 'package:spike_flutter_sdk/bridge/spike_health_connect/spike_health_connect_factory.dart';
import 'package:spike_flutter_sdk/connection/data_reading/contract/activities_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/contract/body_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/contract/sleep_data_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/contract/workouts_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/health_data_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/health_readers_provider.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_connect/hc_activities_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_connect/hc_body_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_connect/hc_sleep_data_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_connect/hc_workouts_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_connect/utils/hc_record_properties_resolver.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_kit/hk_activities_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_kit/hk_body_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_kit/hk_sleep_data_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/implementation/health_kit/hk_workouts_reader.dart';
import 'package:spike_flutter_sdk/connection/data_reading/queries/activities_query.dart';
import 'package:spike_flutter_sdk/connection/data_reading/queries/date_time_query.dart';
import 'package:spike_flutter_sdk/connection/spike_connection.dart';
import 'package:spike_flutter_sdk/connection/spike_data_extraction/spike_data_extractor.dart';
import 'package:spike_flutter_sdk/connection/spike_data_extraction/spike_data_extractor_provider.dart';
import 'package:spike_flutter_sdk/connection/spike_request/generators/spike_activities_stream_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/generators/spike_body_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/generators/spike_calories_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/generators/spike_heart_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/generators/spike_identifier_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/generators/spike_sleep_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/generators/spike_summary_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/spike_request_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_request/spike_request_generator_provider.dart';
import 'package:spike_flutter_sdk/connection/spike_response/spike_response_generator.dart';
import 'package:spike_flutter_sdk/connection/spike_webhook_connection.dart';
import 'package:spike_flutter_sdk/model/atoms/activity_level.dart';
import 'package:spike_flutter_sdk/model/atoms/activity_record_value.dart';
import 'package:spike_flutter_sdk/model/atoms/blood_pressure_record.dart';
import 'package:spike_flutter_sdk/model/atoms/blood_pressure_statistics.dart';
import 'package:spike_flutter_sdk/model/atoms/date_interval.dart';
import 'package:spike_flutter_sdk/model/atoms/records_statistics.dart';
import 'package:spike_flutter_sdk/model/atoms/sleep_level_type.dart';
import 'package:spike_flutter_sdk/model/atoms/sleep_statistics.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_activities_summary_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_activity.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_activity_stream_lap_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_activity_stream_sample_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_api_provider.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_blood_pressure_response_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_breathing_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_data_source.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_data_type.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_device.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_event_type.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_glucose_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_hrv_intraday_record_value.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_hrv_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_intraday_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_oxygen_saturation_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_packed_connection.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_reader_result.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_request.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_session_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_summary_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_timeseries_response_record.dart';
import 'package:spike_flutter_sdk/model/atoms/spike_webhook_job_details.dart';
import 'package:spike_flutter_sdk/model/atoms/workout_event_record.dart';
import 'package:spike_flutter_sdk/model/constructions/spike_body_data.dart';
import 'package:spike_flutter_sdk/model/init_response.dart';
import 'package:spike_flutter_sdk/model/molecules/activity_record.dart';
import 'package:spike_flutter_sdk/model/molecules/blood_pressure_data.dart';
import 'package:spike_flutter_sdk/model/molecules/date_interval_list.dart';
import 'package:spike_flutter_sdk/model/molecules/sleep_level.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_activity_stream_record.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_calories_intraday_record.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_connection_config.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_data.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_data_record.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_distance_record.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_event.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_hrv_intraday_record.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_sleep_level_record.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_steps_record.dart';
import 'package:spike_flutter_sdk/model/molecules/spike_time_response_record.dart';
import 'package:spike_flutter_sdk/model/molecules/with_spike_request.dart';
import 'package:spike_flutter_sdk/model/molecules/workout_record.dart';
import 'package:spike_flutter_sdk/model/organisms/activity_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_activities_stream_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_activities_summary_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_body_data_response_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_body_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_breathing_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_calories_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_calories_response_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_distance_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_glucose_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_heart_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_heart_response_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_identifier_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_oxygen_saturation_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_sleep_request_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_sleep_response_record.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_steps_data.dart';
import 'package:spike_flutter_sdk/model/organisms/spike_temperature_response_record.dart';
import 'package:spike_flutter_sdk/model/organisms/workouts_data.dart';
import 'package:spike_flutter_sdk/model/origin.dart';
import 'package:spike_flutter_sdk/model/spike_task_config.dart';
import 'package:spike_flutter_sdk/model/templates/spike_calories_data.dart';
import 'package:spike_flutter_sdk/model/templates/spike_full_body_response_record.dart';
import 'package:spike_flutter_sdk/model/templates/spike_heart_data.dart';
import 'package:spike_flutter_sdk/model/templates/spike_sleep_data.dart';
import 'package:spike_flutter_sdk/reporter/exceptions.dart';
import 'package:spike_flutter_sdk/reporter/health_kit_reporter.dart';
import 'package:spike_flutter_sdk/reporter/model/decorator/extensions.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/activity_summary.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/category.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/characteristic/activity_move_mode.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/characteristic/biological_sex.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/characteristic/blood_type.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/characteristic/characteristic.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/characteristic/fitzpatrick_skin_type.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/characteristic/wheelchair_use.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/correlation.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/date_components.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/deleted_object.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/device.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/document.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/electrocardiogram.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/heartbeat_series.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/preferred_unit.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/quantity.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/sample.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/sleep_record.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/source.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/source_revision.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/statistics.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/workout.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/workout_activity_type.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/workout_configuration.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/workout_event.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/workout_event_type.dart';
import 'package:spike_flutter_sdk/reporter/model/payload/workout_route.dart';
import 'package:spike_flutter_sdk/reporter/model/predicate.dart';
import 'package:spike_flutter_sdk/reporter/model/type/activity_summary_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/category_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/characteristic_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/correlation_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/document_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/electrocardiogram_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/quantity_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/series_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/vision_prescription_type.dart';
import 'package:spike_flutter_sdk/reporter/model/type/workout_type.dart';
import 'package:spike_flutter_sdk/reporter/model/update_frequency.dart';
import 'package:spike_flutter_sdk/repository/background_delivery_config_repository.dart';
import 'package:spike_flutter_sdk/repository/background_timer_repository.dart';
import 'package:spike_flutter_sdk/repository/permissions/implementation/hc_permissions_repository.dart';
import 'package:spike_flutter_sdk/repository/permissions/implementation/hk_permissions_repository.dart';
import 'package:spike_flutter_sdk/repository/permissions/permissions_repository.dart';
import 'package:spike_flutter_sdk/repository/quantities_repository.dart';
import 'package:spike_flutter_sdk/repository/read_types_repository.dart';
import 'package:spike_flutter_sdk/repository/requests_repository.dart';
import 'package:spike_flutter_sdk/repository/spike_api_repository.dart';
import 'package:spike_flutter_sdk/repository/spike_device_repository.dart';
import 'package:spike_flutter_sdk/repository/spike_event_repository.dart';
import 'package:spike_flutter_sdk/repository/statistics_repository.dart';
import 'package:spike_flutter_sdk/spike_event_logger.dart';
import 'package:spike_flutter_sdk/spike_sdk.dart';