Health Platform API'si

Health Platform API, geliştiricilere kullanıcının geçmiş sağlık, sağlıklı yaşam ve fitness verilerini okumak, yazmak ve paylaşmak için tek bir arayüz sağlayan bir Android API'dir. Health Platform sayesinde kullanıcılar verilerinin kontrolüne sahip olur. Hangi uygulamaların farklı veri türlerine okuma veya yazma erişimine sahip olacağını kullanıcılar denetler. Health Platform API veri türleri arasında yükseklik, nabız ve daha fazlası yer alır.

Health Platform API, kullanıcılara kişisel sağlık, fitness ve sağlıklı yaşam verilerine hangi uygulamaların erişebileceğini ve bunları gösterebileceğini seçebilecekleri bir depolama ve paylaşım mekanizması sunar. Böylece uygulama geliştiriciler, kullanıcılara sağlık durumuyla ilgili daha kapsamlı bir görünüm sunar ve verilerini daha etkili bir şekilde izleyebilir.

Health Platform API yazılım geliştirme kiti, Android uygulama geliştiricilerine belirli Samsung cihazlarda kullanıcının sağlık ve sağlıklı yaşam verilerine erişim sağlamak için ihtiyaç duydukları her şeyi sağlar ve uygulamaların veri ekleme, silme ve okuma gibi toplu işlemler gerçekleştirmesine olanak tanır.

Başlayın

Health Platform'u kullanırken aşağıdakileri göz önünde bulundurun:

  • İstemci uygulamaları, kullanıcıdan okuma veya yazma erişimi için ayrıntılı izinler almalıdır.
  • Kullanıcı daha sonra istediği zaman izinleri reddedebilir veya izinleri iptal edebilir.
  • Health Platform API yalnızca belirli Samsung cihazları destekler.
  • HealthDataClient, Health Platform istemcisi ve Sağlık Platformu'na bir giriş noktasıdır.

Geliştiricilerin uygulaması gereken entegrasyon adımları aşağıdaki resimde gösterilmektedir:

entegrasyon adımları

Dosyaları serbest bırak

Health Platform V1 sürümü şunları içerir:

  • İstemci SDK'sı: Health Platform API'yi kullanmak için bu SDK'yı uygulamanıza ekleyin. SDK, doğrudan uygulama Gradle derleme dosyalarınıza ekleyebileceğiniz bir Maven deposudur.

Health Platform'u yükle

Aşağıdaki adımları uygulayarak Health Platform'u yükleyin:

Uygulamanın kök build.gradle dosyasına aşağıdaki örnekte gösterildiği gibi depoyu ekleyin:

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

Aşağıdaki örnekte gösterildiği gibi, modülünüzün build.gradle dosyasına Health Platform SDK'sına bir bağımlılık ekleyin:

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

Veri

Health Platform, sağlık ve fitness verilerini depolayıp yapılandırır. Ayrıca, farklı türdeki verilerin ölçülme biçimleri arasındaki temel farklılıkları da dikkate alır. Örneğin, nabız ölçümü hemen yapılır ancak belirli bir sürede adım sayısı ölçülür.

Health Platform'daki ana nesneler ve aralarındaki farklar aşağıda açıklanmıştır:

  • RawData: Ölçüm ve veri kaydı.
  • DataType: Nabız, vücut yağı veya vücut sıcaklığı gibi yaygın sağlık ve fitness verisi türleri ve bunların biçimleri (ör. alanlar, salt okunur veya isteğe bağlı) için tanımlayıcı.
  • SampleData: Nabız, tansiyon veya koşma hızı gibi anlık ölçüm olan RawData nesnesi.
  • IntervalData: Atılan adım sayısı, gidilen mesafe veya yakılan kalori gibi belirli bir sürede alınan kümülatif ölçüm olan bir RawData nesnesi.
  • SeriesData: Belirli bir sürede bir ölçüm dizisi içeren RawData nesnesi. SeriesData özellikle etkinlik oturumu sırasında sürekli nabız örnekleri gibi yüksek frekanslı sensör verileri için uygundur.

Üç RawData sınıfının her biri belirli bir DataType alt sınıfına karşılık gelir: SampleData, IntervalData ve SeriesData sırasıyla SampleDataType, IntervalDataType ve SeriesDataType alt sınıfına karşılık gelir.

Eklendiğinde her RawData nesnesine Health Platform tarafından benzersiz bir tanımlayıcı (UID) atanır. Bu UID'yi okuma, güncelleme veya silme isteklerinde belirli bir RawData nesnesine referans vermek için kullanabilirsiniz.

Veri türleri

Health Platform, sağlık ve fitness uygulamalarında yaygın olarak kullanılan çok çeşitli veri türleri içerir. Mevcut veri türleriyle depolanan veriler, kullanıcılara geçmiş sağlık, fitness ve sağlıklı yaşam verilerinin kapsamlı bir görünümünü sunarak günlük aktiviteleri hakkında analizler sunar.

Her veri türü, aşağıdakileri içeren veri biçimine göre tanımlanır:

  • Alanlar: Veri türüyle ilişkili özel veya genel alanlar. Örneğin, kan oksijen doygunluğu (SpO2) veri türünde Başlık, Notlar ve Yüzde gibi alanlar bulunur.
  • Type: long, double, string veya enum.
  • Özellik: Salt okunur, zorunlu, isteğe bağlı veya doğrulama aralığı.

Veri türleri listesi

Mevcut veri türlerini anlayarak Health Platform'dan en iyi şekilde yararlanın. Health Platform aşağıdaki tabloda gösterilen veri türlerini destekler. Veri türleri biçimlerine göre düzenlenir: örnek, aralık veya seri.

SampleData tür:

DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE Zorunlu
DataType.BloodGlucoseDataType BLOOD_GLUCOSE Zorunlu ve İsteğe Bağlı
DataType.BloodPressureDataType BLOOD_PRESSURE Zorunlu ve İsteğe Bağlı
DataType.BodyFatDataType BODY_FAT Zorunlu
DataType.BodyTemperatureDataType BODY_TEMPERATURE Zorunlu ve İsteğe Bağlı
DataType.BoneMassDataType BONE_MASS Zorunlu
DataType.CervicalMucusDataType CERVICAL_MUCUS İsteğe bağlı
DataType.CervicalPositionDataType CERVICAL_POSITION İsteğe bağlı
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE Zorunlu
DataType.DateOfBirthDataType DATE_OF_BIRTH Sadece Okunur
DataType.GenderDataType GENDER Sadece Okunur
DataType.HeartRateDataType HEART_RATE Zorunlu
DataType.HeightDataType HEIGHT Zorunlu
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE Zorunlu
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX Zorunlu
DataType.HrvRmssdDataType HRV_RMSSD Zorunlu
DataType.HrvSDataType HRV_S Zorunlu
DataType.HrvSd2DataType HRV_SD2 Zorunlu
DataType.HrvSdannDataType HRV_SDANN Zorunlu
DataType.HrvSdnnDataType HRV_SDNN Zorunlu
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Zorunlu
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Zorunlu
DataType.HrvSdsdDataType HRV_SDSD Zorunlu
DataType.HrvTinnDataType HRV_TINN Zorunlu
DataType.LeanBodyMassDataType LEAN_BODY_MASS Zorunlu
DataType.LocationDataType LOCATION Zorunlu
DataType.MenstruationDataType MENSTRUATION İsteğe bağlı
DataType.OvulationTestDataType OVULATION_TEST Zorunlu
DataType.OxygenSaturationDataType OXYGEN_SATURATION Zorunlu
DataType.PaceDataType PACE Zorunlu
DataType.PowerDataType POWER Zorunlu
DataType.RespiratoryRateDataType RESPIRATORY_RATE Zorunlu
DataType.RestingHeartRateDataType RESTING_HEART_RATE Zorunlu
DataType.SexualActivityDataType SEXUAL_ACTIVITY Zorunlu
DataType.SpeedDataType SPEED Zorunlu
DataType.StepsCadenceDataType STEPS_CADENCE Zorunlu
DataType.Vo2MaxDataType VO2_MAX Zorunlu ve İsteğe Bağlı
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE Zorunlu
DataType.WeightDataType WEIGHT Zorunlu

IntervalData tür:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Zorunlu
DataType.ActiveTimeDataType ACTIVE_TIME Sadece Okunur
DataType.ActivityEventDataType ACTIVITY_EVENT Zorunlu
DataType.ActivityLapDataType ACTIVITY_LAP İsteğe bağlı
DataType.ActivitySessionDataType ACTIVITY_SESSION Zorunlu
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Sadece Okunur
DataType.DistanceDataType DISTANCE Zorunlu
DataType.ElevationGainedDataType ELEVATION_GAINED Zorunlu
DataType.FloorsClimbedDataType FLOORS_CLIMBED Zorunlu
DataType.HydrationDataType HYDRATION Zorunlu
DataType.NutritionDataType NUTRITION İsteğe bağlı
DataType.RepetitionsDataType REPETITIONS Zorunlu
DataType.SleepSessionDataType SLEEP_SESSION İsteğe bağlı
DataType.SleepStageDataType SLEEP_STAGE Zorunlu
DataType.StepsDataType STEPS Zorunlu
DataType.SwimmingStrokesDataType SWIMMING_STROKES Zorunlu ve İsteğe Bağlı
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Sadece Okunur

SeriesData tür:

DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE Zorunlu
DataType.HeartRateSeriesDataType HEART_RATE Zorunlu
DataType.LocationSeriesDataType LOCATION Zorunlu
DataType.PaceSeriesDataType PACE Zorunlu
DataType.PowerSeriesDataType POWER Zorunlu
DataType.SpeedSeriesDataType SPEED Zorunlu
DataType.StepsCadenceSeriesDataType STEPS_CADENCE Zorunlu

Geliştirici işlevleri

Aşağıda, Health Platform'da kullanılabilen standart veri işlevleri grubu açıklanmaktadır. Platform, ham veriler için standart ekleme, güncelleme ve silme işlevleri sunar.

Birleştirilmiş Verileri Okuma

Platform, istemcilerin aşağıdaki AggregatedData türleri üzerinden toplama işlevi uygulamasına olanak tanır:

  • StatisticalData: SampleData veya SeriesData grubundaki ortalama, minimum veya maksimum değerler (ör. bir aktivite oturumu sırasında minimum ve maksimum nabız).
  • CumulativeData: IntervalData değerlerinin toplamıdır (örneğin, günlük bir aralıktaki toplam adım sayısı).
  • CountData: Temel RawData nesnelerinin basit bir sayımı (ör. belirli bir haftadaki etkinlik oturumlarının sayısı). Sayı verileri örnek, aralık ve seri veri türleri için hesaplanabilir.

Health Platform API'ye bağlanma

HealthDataClient, Health Platform API'ye giriş noktasıdır.

Aşağıdaki adımlarda Health Platform'a nasıl bağlanılacağı açıklanmaktadır:

  1. Yeni HealthDataClient örnekleri oluşturmak için HealthDataService.getClient kullanın.
  2. Ardından istemci uygulaması, requestPermissions (Set) yöntemini kullanarak kullanıcıdan izin istemelidir.

HealthDataClient, temel depolama katmanıyla olan bağlantısını otomatik olarak yönetir ve tüm Süreçler Arası İletişimin (IPC) yanı sıra giden istekler ile gelen yanıtların serileştirilmesi işlemlerini gerçekleştirir.