Veri türleri

Google Fit, com.google ad alanı altında bir dizi sağlık ve sağlıklı yaşam veri türü sağlar.

Veri türleri, veri noktalarındaki değerlerin biçimini tanımlar. Bir veri noktası aşağıdakileri temsil edebilir:

  • Anlık okuma veya gözlem
  • Bir zaman aralığına ait istatistikleri içeren toplama

Google Fit anlık gözlemler için veri türlerini, birleştirilmiş veriler için de veri türlerini tanımlar. Veri noktaları, bir veri türü alanlarına ait değerler ve zaman damgası bilgilerinden oluşur. Anlık gözlemleri temsil eden noktalara zaman damgası dahildir. Birleştirilmiş veri türündeki noktalar da aralığın başlangıç zamanını içerir.

Google Fit ayrıca yeni veri türleri tanımlamanıza olanak tanır.

Veri türü grupları

Google Fit şu veri türlerine sahiptir:

Herkese açık veri türleri
Platform tarafından sağlanan standart veri türleri "com.google" önekine sahiptir. Örneğin, com.google.step_count.delta. Bu veri türleri fitness aktivitesi, uyku ve beslenme de dahil olmak üzere sağlık ve sağlıklı yaşam verilerinin anında okumasını sağlar. Tüm uygulamalar, bu veri türlerini okumak ve bu veri türlerine yazmak için ilgili izinleri isteyebilir. Yalnızca bunları yazan uygulama tarafından okunabilen birkaç konum verisi türü hariçtir.

Daha fazla bilgi için aşağıdaki sayfaları inceleyin:

Sağlık verisi türleri
Olası hassas veriler nedeniyle platform tarafından sağlanan, erişimi kısıtlanmış veri türleri. Daha fazla bilgi için Sağlık veri türleri bölümüne bakın.
Toplu veri türleri
Zamana veya etkinlik türüne göre toplanan sağlık ve zindelikle ilgili bilgileri okumak için kullanılan veri türleri. Daha fazla bilgi için Birleştirilmiş veri türleri bölümüne bakın.
Gizli özel veri türleri
Belirli bir uygulama tarafından tanımlanan özel veri türleri. Yalnızca veri türünü tanımlayan uygulama bu türdeki verileri okuyup yazabilir. Daha fazla bilgi için Özel veri türleri bölümüne bakın.

Veri türlerini kullanma

Android

Android'de veri türleri, DataType sınıfının herkese açık alanları olarak tanımlanır. Veri türüyle Fitness API'lerini nasıl çağıracağınız, neyi başarmak istediğinize bağlıdır:

  • Veri kaydetmek amacıyla kaydetmek istediğiniz her veri türü için bir abonelik oluşturmak amacıyla Recording API'yi kullanın.
  • Verileri okumak için History API'sini kullanarak her veri türü için okuma isteği gönderin.
  • Geçmişe ait geçmiş verileri eklemek amacıyla her veri türü için ekleme isteği göndermek amacıyla History API'yi kullanın.
  • Oturum oluşturmak için, oturum meta verileriyle veri eklemek veya kaydetmek amacıyla Sessions API'yi kullanın.

Bir anlık DataType nesnesi için veri noktaları oluşturmak üzere değerleri doğru biçimde atayın. Aşağıdaki örnekte, gıda öğesini dize olarak, yemek türünü Field sınıfının sabit değeri ve besin içeriklerinin eşlenmiş kayan değer olarak nasıl atanacağı gösterilmektedir.

val nutritionSource = DataSource.Builder()
    .setDataType(DataType.TYPE_NUTRITION)
    ...
    .build()

val nutrients = mapOf(
    Field.NUTRIENT_TOTAL_FAT to 0.4f,
    Field.NUTRIENT_SODIUM to 1f,
    Field.NUTRIENT_POTASSIUM to 422f
)
val banana = DataPoint.builder(nutritionSource)
    .setTimestamp(now, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_FOOD_ITEM, "banana")
    .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK)
    .setField(Field.FIELD_NUTRIENTS, nutrients)
    .build()

Uygulamanızda veri noktaları belirledikten sonra History API ile geçmiş verileri ekleyebilir, okuyabilir veya silebilirsiniz.

REST

dataSources kaynağı, her veri kaynağı için veri türünü (ve alanlarının bir listesini) içerir. Veri kaynakları oluştururken bu veri türlerinden birini belirtebilirsiniz ve fitness deposundan bir veri kaynağı aldığınızda veri türünün adını ve alanlarının listesini alabilirsiniz.

Örneğin, bir veri kaynağı gösterimi, veri türünü aşağıdaki şekilde belirtir:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

Yetkilendirme kapsamları

Yetkilendirme kapsamları, kullanıcının bir uygulamaya erişmesi için yetkilendirebileceği veri türü gruplarını kapsar. Kullanıcıların bir uygulamanın ne tür verilere erişmek istediğini anlamalarına yardımcı olurlar. Ayrıca, her veri türünü ayrı ayrı onaylamak zorunda kalmadan uygulamalara bu verileri kullanma izni verilmesini de kolaylaştırırlar. Kullanıcılar bu izinleri uygulamanızı indirdikten sonra verirler.

OAuth kapsamları izin ekranı örneği
Şekil 2.OAuth kapsamları izin ekranı.

Uygulamanızı az sayıda kullanıcıyla test ettikten sonra, kullanıma sunmadan önce bu veri türleriyle ilgili kapsamlara göre doğrulama isteğinde bulunmanız gerekir. Her bir veri türü için hangi kapsamların geçerli olduğunu anlamak için yukarıda bağlantısı verilen veri türleri sayfalarını okuyun.

Örneğin, uygulamanızın tansiyonu okuyup yazması gerekiyorsa uygulamanın hem okuma hem de yazma yaptığını ve her iki kapsamı da istediğini beyan etmesi gerekir. Google Fit platformuna yalnızca tansiyon verilerini yazıyorsa yalnızca yazma kapsamını istemesi gerekir.

Veri türlerini bilinçli bir şekilde seçin. Uygulamanızın ihtiyaç duyabileceği ihtimaline karşı her veri türünü istemeyin. Belirtilen türler, kullanıcıdan hangi kapsamlar için izin vermesinin istendiğini belirler. Kullanıcıların erişim izni verme olasılığını artırmak için yalnızca uygulamanızın ihtiyaç duyduğu veri türlerini isteyin. Kullanıcılar sınırlı, açıkça tanımlanmış kapsamlara daha kolay bir şekilde erişim izni verir.

Uygulamanızın erişmesi gereken kapsamların hassas veya kısıtlı olup olmadığını kontrol etmek için bu tabloyu kullanın (uygulamanız gereken doğrulama adımlarını belirler):

Kapsam Açıklama Kategori
https://www.googleapis.com/auth/fitness.activity.read Google Fit platformundan aktivite verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.activity.write Aktivite verilerini Google Fit platformuna yazma Kısıtlı
https://www.googleapis.com/auth/fitness.blood_glucose.read Google Fit platformundaki kan şekeri verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.blood_glucose.write Kan şekeri verilerini Google Fit platformuna yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.blood_pressure.read Google Fit platformundaki tansiyon verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.blood_pressure.write Google Fit platformuna tansiyon verilerini yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.body.read Google Fit platformundan vücut ölçüm verilerini (boy, kilo, vücut yağ yüzdesi) okuyabilir. Kısıtlı
https://www.googleapis.com/auth/fitness.body.write Vücut ölçüm verilerini Google Fit platformuna yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.body_temperature.read Google Fit platformundaki vücut sıcaklığı verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.body_temperature.write Vücut sıcaklığı verilerini Google Fit platformuna yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.heart_rate.read Google Fit platformundan nabız verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.heart_rate.write Nabız verilerini Google Fit platformuna yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.location.read Google Fit platformundan konum verilerini okumak. Kısıtlı
https://www.googleapis.com/auth/fitness.location.write Google Fit platformuna konum verilerini yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.nutrition.read Google Fit platformundan beslenme verilerini okuyabilir. Kısıtlı
https://www.googleapis.com/auth/fitness.nutrition.write Google Fit platformuna beslenme verilerini yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Google Fit platformundaki oksijen doygunluğu verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Google Fit platformuna oksijen doygunluğu verilerini yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.reproductive_health.read Google Fit platformundaki üreme sağlığı verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.reproductive_health.write Google Fit platformuna üreme sağlığı verilerini yazma. Kısıtlı
https://www.googleapis.com/auth/fitness.sleep.read Google Fit platformundaki uyku verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.sleep.write Uyku verilerini Google Fit platformuna yazma. Kısıtlı

Mevcut bir uygulamaya yeni kapsamlar ekleme

Uygulamanızı yeni bir kapsam talep edecek şekilde güncellediğinizde (örneğin, yeni uyku veya nabız kapsamları veya okuma kapsamı eklerseniz) kullanıcılara, uygulamanızın bu kapsamlara erişim izni istediği ve erişim izni vermeyi ya da reddetmeyi seçebilecekleri sorulur.

En iyi uygulama, ihtiyaç duyduğunuz anda kullanıcılardan yetkilendirme istemektir. Ek yetkilendirme isteme ile ilgili yönergeleri uygulayın.

Uygulamanızın bu verileri neden/nasıl kullandığını anlayan kullanıcılar, erişim izni verme ihtimalleri de artar:

  • Kullanıcıları bu kapsamların isteneceği konusunda uyaran/bilgilendiren bir ekran eklemeyi düşünün.
  • Kullanıcıların bilinçli bir karar verebilmesi için uygulamanızın neden bu kapsamlara/verilere erişim istediğini net bir şekilde açıklayın.

Android için uygulama izinleriyle ilgili en iyi uygulamalar hakkında daha fazla bilgi edinin.