Health Platform API

Health Platform API là một API Android cung cấp cho các nhà phát triển một giao diện để đọc, ghi và chia sẻ nhật ký dữ liệu về sức khoẻ thể chất và tinh thần cũng như hoạt động thể dục của người dùng. Người dùng có quyền kiểm soát dữ liệu của mình bằng Health Platform. Người dùng có thể kiểm soát ứng dụng nào có quyền đọc hoặc ghi vào các loại dữ liệu. Các loại dữ liệu của Health Platform API bao gồm chiều cao, nhịp tim và nhiều chỉ số khác.

Health Platform API cung cấp cho người dùng một cơ chế lưu trữ và chia sẻ để họ có thể chọn những ứng dụng có thể truy cập và hiển thị dữ liệu về sức khoẻ thể chất và tinh thần cũng như hoạt động thể dục của cá nhân. Nhờ có API này, các nhà phát triển ứng dụng có thể cung cấp cho người dùng thông tin đầy đủ hơn về sức khoẻ của họ và giúp họ theo dõi dữ liệu hiệu quả hơn.

Bộ tài liệu dành cho nhà phát triển phần mềm Health Platform API cung cấp cho các nhà phát triển ứng dụng Android mọi thứ họ cần để cấp quyền truy cập vào dữ liệu sức khoẻ thể chất và tinh thần của người dùng trên một số thiết bị Samsung, đồng thời cho phép các ứng dụng thực hiện thao tác hàng loạt, chẳng hạn như chèn, xoá và đọc dữ liệu.

Bắt đầu

Khi sử dụng Health Platform, hãy lưu ý những điều sau:

  • Ứng dụng khách phải có các quyền chi tiết do người dùng cấp để đọc hoặc ghi.
  • Người dùng có thể từ chối cấp quyền hoặc thu hồi quyền bất cứ lúc nào sau đó.
  • Health Platform API chỉ hỗ trợ một số thiết bị Samsung.
  • HealthDataClient là ứng dụng khách đối với Health Platform và là một điểm truy cập vào Health Platform.

Hình ảnh sau đây cho thấy những bước tích hợp cần thiết mà các nhà phát triển phải thực hiện:

integration-steps

Phát hành tệp

Bản phát hành Health Platform V1 chứa các thông tin sau:

  • SDK ứng dụng: Đưa SDK này vào ứng dụng của bạn để sử dụng Health Platform API. SDK này là một kho lưu trữ Maven mà bạn có thể trực tiếp đưa vào các tệp bản dựng Gradle của ứng dụng.

Cài đặt Health Platform

Cài đặt Health Platform bằng cách làm theo các bước sau:

Trong tệp build.gradle gốc của ứng dụng, thêm kho lưu trữ như trong ví dụ sau:

allprojects {
    ...
    repositories {
        ...
        google()
    }
}

Thêm phần phụ thuộc SDK Health Platform vào tệp build.gradle của mô-đun như trong ví dụ sau:

dependencies {
   …
  implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}

Dữ liệu

Health Platform lưu trữ và sắp xếp dữ liệu về sức khoẻ lẫn hoạt động thể dục. Health Platform cũng xem xét những điểm khác biệt cốt lõi giữa cách đo lường dữ liệu thuộc nhiều loại. Ví dụ: kết quả đo nhịp tim sẽ có ngay lập tức, nhưng kết quả về số bước thì sẽ có sau một khoảng thời gian.

Sau đây là những đối tượng chính trong Health Platform và sự khác biệt giữa các đối tượng này:

  • RawData: một bản ghi dữ liệu và chỉ số đo lường.
  • DataType: thông số kỹ thuật cho các loại dữ liệu phổ biến về sức khoẻ và hoạt động thể dục, chẳng hạn như nhịp tim, lượng mỡ trong cơ thể hoặc nhiệt độ cơ thể và định dạng của dữ liệu đó, chẳng hạn như các trường chỉ có thể đọc hoặc không bắt buộc.
  • SampleData: đối tượng RawData là chế độ đo tức thời, chẳng hạn như nhịp tim, huyết áp hoặc tốc độ chạy.
  • IntervalData: đối tượng RawData là chế độ đo tích luỹ được thực hiện trong một khoảng thời gian, chẳng hạn như số bước, quãng đường đã đi hoặc lượng calo đã đốt cháy.
  • SeriesData: đối tượng RawData đóng gói trình tự đo lường trong một khoảng thời gian. SeriesData đặc biệt phù hợp với dữ liệu cảm biến tần số cao, chẳng hạn như các mẫu nhịp tim liên tục trong một phiên hoạt động.

Mỗi lớp trong số 3 lớp RawData tương ứng với một lớp con cụ thể của DataType: SampleData, IntervalDataSeriesData tương ứng với SampleDataType, IntervalDataTypeSeriesDataType.

Mỗi đối tượng RawData được Health Platform chỉ định một giá trị nhận dạng duy nhất (UID) khi được chèn. Bạn có thể sử dụng UID này để tham chiếu một đối tượng RawData cụ thể trong các yêu cầu đọc, cập nhật hoặc xoá.

Loại dữ liệu

Health Platform bao gồm một tập hợp nhiều loại dữ liệu thường được dùng trên các ứng dụng sức khoẻ và thể dục. Dữ liệu được lưu trữ với những loại dữ liệu có sẵn sẽ mang lại cho người dùng cái nhìn toàn diện liên quan đến nhật ký dữ liệu về sức khoẻ thể chất và tinh thần cũng như hoạt động thể dục, đồng thời cho biết thông tin chi tiết về hoạt động hằng ngày của họ.

Mỗi loại dữ liệu được xác định theo định dạng dữ liệu, bao gồm những định dạng sau:

  • Trường: các trường cụ thể hoặc trường chung liên kết với loại dữ liệu. Ví dụ: loại dữ liệu về độ bão hoà oxy trong máu (SpO2) có các trường như Tiêu đề, Ghi chú và Tỷ lệ phần trăm.
  • Loại: long (dài), double (đôi), chuỗi hoặc enum (liệt kê).
  • Thuộc tính: chỉ có thể đọc, bắt buộc, không bắt buộc hoặc dải xác thực.

Danh sách các loại dữ liệu

Hãy khai thác tối đa Health Platform bằng cách tìm hiểu các loại dữ liệu có sẵn. Health Platform hiện hỗ trợ các loại dữ liệu như trong bảng sau. Các loại dữ liệu được sắp xếp theo định dạng: mẫu, khoảng thời gian hoặc chuỗi.

Loại SampleData:

DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE Bắt buộc
DataType.BloodGlucoseDataType BLOOD_GLUCOSE Bắt buộc và Không bắt buộc
DataType.BloodPressureDataType BLOOD_PRESSURE Bắt buộc và Không bắt buộc
DataType.BodyFatDataType BODY_FAT Bắt buộc
DataType.BodyTemperatureDataType BODY_TEMPERATURE Bắt buộc và Không bắt buộc
DataType.BoneMassDataType BONE_MASS Bắt buộc
DataType.CervicalMucusDataType CERVICAL_MUCUS Không bắt buộc
DataType.CervicalPositionDataType CERVICAL_POSITION Không bắt buộc
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE Bắt buộc
DataType.DateOfBirthDataType DATE_OF_BIRTH Chỉ có thể đọc
DataType.GenderDataType GENDER Chỉ có thể đọc
DataType.HeartRateDataType HEART_RATE Bắt buộc
DataType.HeightDataType HEIGHT Bắt buộc
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE Bắt buộc
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX Bắt buộc
DataType.HrvRmssdDataType HRV_RMSSD Bắt buộc
DataType.HrvSDataType HRV_S Bắt buộc
DataType.HrvSd2DataType HRV_SD2 Bắt buộc
DataType.HrvSdannDataType HRV_SDANN Bắt buộc
DataType.HrvSdnnDataType HRV_SDNN Bắt buộc
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Bắt buộc
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Bắt buộc
DataType.HrvSdsdDataType HRV_SDSD Bắt buộc
DataType.HrvTinnDataType HRV_TINN Bắt buộc
DataType.LeanBodyMassDataType LEAN_BODY_MASS Bắt buộc
DataType.LocationDataType LOCATION Bắt buộc
DataType.MenstruationDataType MENSTRUATION Không bắt buộc
DataType.OvulationTestDataType OVULATION_TEST Bắt buộc
DataType.OxygenSaturationDataType OXYGEN_SATURATION Bắt buộc
DataType.PaceDataType PACE Bắt buộc
DataType.PowerDataType POWER Bắt buộc
DataType.RespiratoryRateDataType RESPIRATORY_RATE Bắt buộc
DataType.RestingHeartRateDataType RESTING_HEART_RATE Bắt buộc
DataType.SexualActivityDataType SEXUAL_ACTIVITY Bắt buộc
DataType.SpeedDataType SPEED Bắt buộc
DataType.StepsCadenceDataType STEPS_CADENCE Bắt buộc
DataType.Vo2MaxDataType VO2_MAX Bắt buộc và Không bắt buộc
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE Bắt buộc
DataType.WeightDataType WEIGHT Bắt buộc

Loại IntervalData:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Bắt buộc
DataType.ActiveTimeDataType ACTIVE_TIME Chỉ có thể đọc
DataType.ActivityEventDataType ACTIVITY_EVENT Bắt buộc
DataType.ActivityLapDataType ACTIVITY_LAP Không bắt buộc
DataType.ActivitySessionDataType ACTIVITY_SESSION Bắt buộc
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Chỉ có thể đọc
DataType.DistanceDataType DISTANCE Bắt buộc
DataType.ElevationGainedDataType ELEVATION_GAINED Bắt buộc
DataType.FloorsClimbedDataType FLOORS_CLIMBED Bắt buộc
DataType.HydrationDataType HYDRATION Bắt buộc
DataType.NutritionDataType NUTRITION Không bắt buộc
DataType.RepetitionsDataType REPETITIONS Bắt buộc
DataType.SleepSessionDataType SLEEP_SESSION Không bắt buộc
DataType.SleepStageDataType SLEEP_STAGE Bắt buộc
DataType.StepsDataType STEPS Bắt buộc
DataType.SwimmingStrokesDataType SWIMMING_STROKES Bắt buộc và Không bắt buộc
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Chỉ có thể đọc

Loại SeriesData:

DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE Bắt buộc
DataType.HeartRateSeriesDataType HEART_RATE Bắt buộc
DataType.LocationSeriesDataType LOCATION Bắt buộc
DataType.PaceSeriesDataType PACE Bắt buộc
DataType.PowerSeriesDataType POWER Bắt buộc
DataType.SpeedSeriesDataType SPEED Bắt buộc
DataType.StepsCadenceSeriesDataType STEPS_CADENCE Bắt buộc

Hàm dành cho nhà phát triển

Phần sau đây mô tả tập hợp các hàm dữ liệu chuẩn có sẵn trong Health Platform. Nền tảng này cung cấp các chức năng chuẩn như chèn, cập nhật và xoá cho dữ liệu thô.

Đọc AggregatedData

Nền tảng này cho phép các ứng dụng áp dụng hàm tổng hợp trên những loại AggregatedData sau:

  • StatisticalData: các giá trị trung bình, tối thiểu hoặc tối đa trong một tập hợp SampleData hoặc SeriesData, chẳng hạn như nhịp tim tối thiểu và tối đa trong một phiên hoạt động.
  • CumulativeData: tổng của các giá trị IntervalData, chẳng hạn như tổng số bước trong một khoảng thời gian hằng ngày.
  • CountData: chỉ số đếm đơn giản về số đối tượng RawData cơ bản, chẳng hạn như số phiên hoạt động trong một tuần nhất định. Dữ liệu về số lượng có thể được tính toán cho các loại dữ liệu mẫu, khoảng thời gian và chuỗi.

Kết nối với Health Platform API

HealthDataClient là điểm truy cập vào Health Platform API.

Các bước sau đây sẽ mô tả cách kết nối với Health Platform:

  1. Hãy sử dụng HealthDataService.getClient để tạo các thực thể HealthDataClient mới.
  2. Sau đó, ứng dụng khách phải yêu cầu người dùng cấp quyền bằng phương thức requestPermissions (Set).

HealthDataClient tự động quản lý việc kết nối với lớp bộ nhớ cơ bản này, đồng thời xử lý mọi hoạt động Giao tiếp giữa các quá trình (IPC) cũng như quy trình chuyển đổi tuần tự các yêu cầu gửi đi và phản hồi gửi đến.