Health Connect veri türlerini planlama ve inceleme

Health Connect, sağlık ve fitness verilerini depolar ve yapılandırır. Ayrıca farklı veri türlerinin nasıl ölçüldüğü de dikkate alınır. Bu veri türleri arasında hemen alınan nabız ölçümleri, zaman içinde alınan adım sayısı ve seanslar halinde alınan uyku verileri yer alır.

Uygulamanızın gereksinimlerini planlayabilmek için öncelikle Health Connect'in sunduğu veri türlerini ve izinleri anlamanız önemlidir. Bu nedenle, gereksinimlerinizi kesinleştirebilmek için veri türlerinizi incelemeniz gerekir.

Veri türü kategorileri

Health Connect, mümkün olduğunca fazla çeşitlilik sunmak için çoğu sağlık ve fitness uygulamasında kullanılan veri türlerini destekler. Health Connect, sağlık ve fitness verilerini kapsamlı bir şekilde görüntülemenizi ve depolamanızı sağlamayı amaçlar. Bu veri türleri aşağıdaki kategorilere ayrılır:

  • Etkinlik: Kullanıcının yaptığı tüm etkinlikleri yakalar. Koşu ve yüzme gibi sağlık ve fitness etkinlikleri de buna dahildir.
  • Vücut Ölçümü: Bu kategori, kullanıcının kilosu ve bazal metabolizma hızı gibi vücutla ilgili yaygın verileri yakalar.
  • Âdet Döngüsü Takibi: Bu özellik, menstrüasyon döngülerini ve ovülasyon testinin ikili sonucu gibi ilgili veri noktalarını yakalar.
  • Beslenme: Bu veri türü, sıvı alımı ve beslenme veri türlerini kapsar. İlki, kullanıcının tek bir içecekte ne kadar su tükettiğini gösterir. İkincisi, kalori, şeker ve magnezyum gibi isteğe bağlı alanları içerir.
  • Uyku: Bu kategori, kullanıcının uyku süresi ve uyku türüyle ilgili aralık verilerini yakalar.
  • Temel yaşam belirtileri: Kullanıcının genel sağlığıyla ilgili temel bilgiler bu bölümde yer alır. Vücut ısısı, kandaki glikoz, tansiyon ve kandaki oksijen doygunluğu gibi verileri içerir.

Veri türü biçimi

Health Connect'teki veri türleri, Record alt sınıfı olan nesnelerde depolanır.

Her veri türü için time ve zoneOffset gibi genel veya title, count ve percentage gibi özel ilişkili alanlar vardır. Bazı alanlar uzun, çift veya dize gibi basit türleri kullanırken diğerleri ise Instant ve ZoneOffset gibi sınıflar ve listeleme gibi karmaşık türleri kullanır. Bu alanların özellikleri zorunlu veya isteğe bağlı olabilir. Bazı özellikler salt okunur, bazı özellikler ise belirli bir değer aralığına sabitlenmiştir.

Mevcut veri türlerinin ve alanlarının tam listesi için Jetpack'teki sınıflara bakın.

Ek veri özellikleri

Health Connect API'deki veriler, aşağıdaki listede açıklanan meta veri özelliklerini de içerir:

  • Health Connect kimliği: Her veri noktasına oluşturulduktan sonra benzersiz bir tanımlayıcı (UID) atanır. Bu, standart okuma ve yazma işlemleri için kullanışlıdır. Daha fazla bilgi için Health Connect kimliği başlıklı makaleyi inceleyin.
  • Son değiştirilme zamanı: Kaydın son güncellendiği zaman damgasını gösterir. Kayıt ilk oluşturulduğunda veya her güncellemede otomatik olarak oluşturulur.
  • Veri kaynağı: Health Connect, verilerin alındığı uygulamayla ilgili bilgileri depolar. Bu kaynak için oluşturulduğunda otomatik olarak eklenen paket adını içerir.
  • Cihaz: Health Connect, verilerin alındığı cihazla ilgili bilgileri depolar. Bu cihazın üreticisini ve modelini içerir. Değeri manuel olarak siz sağlarsınız.
  • İstemci kimliği: Health Connect, istemci uygulamalarının kendi kimliklerini kullanarak verilere atıfta bulunabilmesi için istemci kimlikleri sağlar. Bu, çakışmaları çözmeye yardımcı olur ve senkronizasyonu kolaylaştırır. Bu değer, kayda manuel olarak eklenir.
  • İstemci kaydı sürümü: Health Connect, istemci kimliğiyle birlikte veri senkronizasyonu sırasındaki değişiklikleri izlemeye yardımcı olmak için sürümleme sağlar. Bu, kayda manuel olarak eklenir.
  • Kayıt yöntemi: Health Connect, verilerin nasıl kaydedildiğini anlamanıza olanak tanır. Bu yöntemler arasında, verileri pasif olarak (otomatik olarak) kaydeden uygulamalar ve verileri etkin olarak veya manuel olarak kaydeden kullanıcılar bulunur.

Health Connect kimliği

Health Connect, yeni eklenen veri nesnelerine benzersiz tanımlayıcı (UID) atar. Bu tanımlayıcı, veri nesnelerini tanımlar ve diğerlerinden ayırır. Health Connect kimlikleri, okuma veya yazma isteklerinde faydalıdır. Health Connect kimlikleri, istemci kimlikleriyle aynı değildir. İstemci uygulamaları istemci kimlikleri atarken Health Connect yalnızca Health Connect kimlikleri atar.

Health Connect kimlikleriyle çalışırken aşağıdaki notları göz önünde bulundurun:

  • Oturumların tek bir Health Connect kimliği vardır ancak oturumlardaki verilerin kendi Health Connect kimlikleri vardır.
  • Health Connect kimlikleri, zaman damgalarıyla bağlı veya ilişkili değildir.
  • Bazı kullanım alanlarında, iş akışı sırasında belirli bir Health Connect kimliğinin saklanması gerekebilir. Örneğin, kullanıcının yeni kaydettiği veri girişini almak ve kullanıcıya göstermek için belirli bir kimlik gerekir.

Health Connect'te zaman

Health Connect'e yazılan tüm verilerde bölge ofset bilgileri belirtilmelidir. Bölge ofsetini belirtmek, uygulamaların verileri okuyup sivil saatte göstermesini sağlar. Resmi saat, yerel ve kullanıcıyla alakalı olan saattir ancak Eşgüdümlü Evrensel Zaman'a (UTC) göre olmayabilir.

Nadir durumlarda bölge ofseti kullanılamayabilir. Android 14'te (API düzeyi 34) bu durum meydana geldiğinde Health Connect, bölge ofsetini cihazın sistem varsayılan saat dilimine göre ayarlar. Android 13 ve önceki sürümlerde (API düzeyi 33 ve önceki sürümler), herhangi bir bölge ofseti bilgisi belirtmeden Health Connect'e yazmak mümkündür. Mümkün olduğunda bu işlemden kaçınılmalıdır.

Saat ve saat dilimi ayarı

Veri yazarken bölge ofseti bilgilerini belirtmek, Health Connect'te veriler okunurken saat dilimi bilgilerini sağlar. Ancak, bölge ofseti sağlanmadığında olduğu gibi belirli durumlarda bunu yapamaz. Uygulamanızın, her iki veri türünü de belirli koşullarınıza uygun şekilde işlemeye hazır olması gerekir.

İzinler

Uygulamanız, herhangi bir izin istemeden önce bunları manifest dosyasında belirtmelidir. Veri türlerinin ve izinlerinin tam eşlemesi için aşağıdaki tablolara bakın.

1.0.0-alpha10 ve sonraki sürümler için

İzin referansı Okuma izni beyanı
Arka planda okuma android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
Geçmiş okumaları android.permission.health.READ_HEALTH_DATA_HISTORY

Kayıt sınıfı türü Okuma ve yazma izni beyanı
ActiveCaloriesBurned android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
BasalMetabolicRate android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE
KanBasıncı android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE
CyclingPedalingCadence android.permission.health.READ_CYCLING_PEDALING_CADENCE
android.permission.health.WRITE_CYCLING_PEDALING_CADENCE
Mesafe android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE
ElevationGained android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED
ExerciseSession android.permission.health.READ_EXERCISE_ROUTE
android.permission.health.READ_EXERCISE_SESSION
android.permission.health.WRITE_EXERCISE_ROUTE
android.permission.health.WRITE_EXERCISE_SESSION
FloorsClimbed android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED
HeartRate android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE
Yükseklik android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
Sıvı tüketimi android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION
MindfulnessSession android.permission.health.READ_MINDFULNESS
android.permission.health.WRITE_MINDFULNESS
Beslenme android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION
Güç android.permission.health.READ_POWER
android.permission.health.WRITE_POWER
DinlenmeKalpAtımı android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE
SkinTemperature android.permission.health.READ_SKIN_TEMPERATURE
android.permission.health.WRITE_SKIN_TEMPERATURE
SleepSession android.permission.health.READ_SLEEP_SESSION
android.permission.health.WRITE_SLEEP_SESSION
Hız android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
Uygulanacak adımlar android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
StepsCadence android.permission.health.READ_STEPS_CADENCE
android.permission.health.WRITE_STEPS_CADENCE
TotalCaloriesBurned android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED
Ağırlık android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT
WheelchairPushes android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

1.0.0-alpha09 ve önceki sürümler için

Kayıt sınıfı türü Okuma ve yazma izni beyanı
ActiveCaloriesBurned androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE
BasalMetabolicRate androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE
KanBasıncı androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE
CyclingPedalingCadence androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE
Mesafe androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE
ElevationGained androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE
ExerciseSession androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE
FloorsClimbed androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE
HeartRate androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE
Yükseklik androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
Sıvı tüketimi androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE
Beslenme androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE
Güç androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
DinlenmeKalpAtımı androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE
SleepSession androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE
Hız androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
Uygulanacak adımlar androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
StepsCadence androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
TotalCaloriesBurned androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE
Ağırlık androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

Veri türlerinizi ve izinlerinizi inceleme

Veri türlerinizi ve izinlerinizi planladığınıza göre bunları geliştirme sırasında uygulayabilirsiniz.

Uygulamanızı Play Store'a yüklemeden önce incelerken uygulamanızın gerektirdiği veri türleri ve izinlerin listesini tekrar kontrol edin. Bu sayede uygulamanızın veri kullanımını doğru şekilde beyan edebilirsiniz.

Uygulamanızı Play Store'da yayınlamaya hazırlanırken uygulamanızın kullandığı Health Connect veri türlerine erişimi beyan edin. Aksi takdirde, özel onay gerektirdikleri için uygulamanızın Health Connect veri türlerine erişemediğine dair bir hata mesajı gösterilebilir.