Health Platform API'si

Health Platform API, geliştiricilere kullanıcının geçmiş sağlık, zindelik ve fitness verilerini okuma, yazma ve paylaşma için tek bir arayüz sağlayan bir Android API'sidir. Sağlık Platformu ile kullanıcılar verilerini kontrol edebilir. Kullanıcılar, farklı veri türlerine hangi uygulamaların okuma veya yazma erişimine sahip olacağını kontrol eder. Sağlık Platform API veri türleri arasında boy, kalp atış hı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 bu verileri hangi uygulamaların gösterebileceğini seçmelerine olanak tanıyan bir depolama ve paylaşım mekanizması sunar. Bu sayede uygulama geliştiriciler, kullanıcılara sağlıklarıyla ilgili daha kapsamlı bir görünüm sunabilir ve kullanıcılar verilerini daha etkili bir şekilde izleyebilir.

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

Başlayın

Sağlık Platformu'nu 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ı, izinleri reddedebilir veya daha sonra herhangi bir zamanda iptal edebilir.
  • Sağlık Platformu API'si yalnızca belirli Samsung cihazları destekler.
  • HealthDataClient, Health Platform'un istemcisidir ve Health Platform'a giriş noktasıdır.

Aşağıdaki resimde, geliştiricilerin uygulaması gereken gerekli entegrasyon adımları gösterilmektedir:

SDK kurulumu, erişim ve izinler ile CRUD işlemleri dahil olmak üzere entegrasyon adımları.
1.şekil Health Platform entegrasyon adımları.

Yayın dosyaları

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

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

Sağlık Platformu'nu yükleme

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

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

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

Modülünüzün build.gradle dosyasında Health Platform SDK'ya bağımlılık ekleyin. Aşağıdaki örnekte bu işlem gösterilmektedir:

Kotlin

dependencies { . . . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }

Groovy

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

Veri

Sağlık Platformu, sağlık ve fitness verilerini depolayıp yapılandırır. Ayrıca, farklı türlerdeki verilerin ölçülme şekilleri arasındaki temel farkları da dikkate alır. Örneğin, kalp atış hızı ölçümü anında yapılırken adım sayısı belirli bir süre boyunca alınır.

Sağlık Platformu'ndaki temel nesneler ve aralarındaki farklar aşağıda açıklanmıştır:

  • RawData: Ölçüm ve veri kaydı.
  • DataType: Kalp atış hızı, vücut yağı veya vücut sıcaklığı gibi yaygın sağlık ve fitness verilerinin ve bunların biçimlerinin (ör. alanlar, salt okunur veya isteğe bağlı) belirleyicisi.
  • SampleData: Kalp atış hızı, kan basıncı veya koşu hızı gibi anlık ölçüm olan bir RawData nesnesi.
  • IntervalData: Belirli bir süre boyunca yapılan kümülatif ölçümler olan RawData nesnesi (ör. atılan adım sayısı, gidilen mesafe veya yakılan kalori).
  • SeriesData: Belirli bir süre boyunca yapılan ölçümler dizisini kapsayan bir RawData nesnesi. SeriesData özellikle bir aktivite 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 DataType sınıfının belirli bir alt sınıfına karşılık gelir: SampleData, IntervalData ve SeriesData sırasıyla SampleDataType, IntervalDataType ve SeriesDataType sınıflarına karşılık gelir.

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

Veri türleri

Sağlık Platformu, sağlık ve fitness uygulamalarında yaygın olarak kullanılan çok çeşitli veri türlerini içerir. Kullanılabilir veri türleriyle depolanan veriler, kullanıcılara geçmiş sağlık, fitness ve sağlıklı yaşam verileri hakkında kapsamlı bir görünüm sunarak günlük aktiviteleri hakkında bilgi verir.

Her veri türü, veri biçimiyle tanımlanır. Veri biçimi şunları içerir:

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

Veri türlerinin listesi

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

SampleData türleri:

Tablo 1: Sağlık Platformu SampleData türleri
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ürleri:

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ürleri:

Tablo 3: Sağlık Platformu SeriesData türleri
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 açıklanmaktadır. Platform, ham veriler için standart ekleme, güncelleme ve silme işlevleri sunar.

Read AggregatedData

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

  • StatisticalData: SampleData veya SeriesData kümesindeki ortalama, minimum ya da maksimum değerler (ör. bir aktivite oturumu sırasındaki minimum ve maksimum kalp atış hızı).
  • CumulativeData: Günlük aralıktaki toplam adım sayısı gibi IntervalData değerlerinin toplamı.
  • CountData: Belirli bir haftadaki etkinlik oturumlarının sayısı gibi temel RawData nesnelerin sayısının basit bir şekilde hesaplanması. Sayım verileri; örnek, aralık ve seri veri türleri için hesaplanabilir.

Sağlık Platformu API'sine bağlanma

HealthDataClient, Health Platform API'nin 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 simgesini kullanın.
  2. Ardından, istemci uygulaması requestPermissions (Set) yöntemini kullanarak kullanıcıdan izin istemelidir.

HealthDataClient, temel depolama katmanıyla bağlantısını otomatik olarak yönetir ve tüm süreçler arası iletişimi (IPC) ve giden isteklerin ve gelen yanıtların serileştirilmesini işler.