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.