Veri türleri

Google Fit, com.google ad alanının altında çeşitli sağlık ve sağlıklı yaşam verileri sağlar.

Veri türleri, veri noktalarının içindeki değerlerin biçimini tanımlar. Veri noktası şunları temsil edebilir:

  • Anında okuma veya gözlem
  • Bir zaman aralığı üzerinden istatistiklerle birleştirilmiş

Google Fit, anlık gözlemler için veri türlerini, birleştirilmiş veriler içinse veri türlerini tanımlar. Veri noktaları, veri türü alanları ve zaman damgası bilgilerinden oluşur. Anında gözlemi temsil eden noktalar bir zaman damgası içerir. Birleştirilmiş veri türünün noktaları da aralığın başlangıç zamanını içerir.

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

Veri türü grupları

Google Fit'te aşağıdaki veri türleri yer alır:

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 dahil olmak üzere sağlık ve sağlıklı yaşam verileri için anında okumaları yakalar. Yalnızca bu uygulamaları yazan uygulama tarafından okunabilen birkaç konum verisi türü haricinde tüm uygulamalar bu veri türlerini okumak ve yazmak için ilgili izinleri isteyebilir.

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

Sağlık verisi türleri
Platform tarafından sağlanan ve hassas olabilecek veriler nedeniyle erişimi kısıtlanmış olan veri türleri. Daha fazla bilgi için Sağlık verisi türleri bölümünü inceleyin.
Birleştirilmiş veri türleri
Zaman veya aktivite türüne göre toplanan sağlık ve zindelik bilgilerini okumak için kullanılan veri türleri. Daha fazla bilgi için Birleştirilmiş veri türleri bölümünü inceleyin.
Gizli özel veri türleri
Belirli bir uygulama tarafından tanımlanan özel veri türleri. Bu veri türünü yalnızca veri türünü tanımlayan uygulama okuyabilir ve yazabilir. Daha fazla bilgi için Özel veri türleri bölümünü inceleyin.

Veri türlerini kullanma

Android

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

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

Tek bir DataType nesnesi için veri noktaları oluşturmak amacıyla değerleri doğru biçimde atayın. Aşağıdaki örnekte, gıda öğesini bir dize olarak, yemek türünü Field sınıfından sabit bir değer ve besin içeriklerini eşlenmiş kayan değerler olarak nasıl atayacağınız 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ını ayarladıktan sonra, History API'yi kullanarak geçmiş verileri ekleyebilir, okuyabilir veya silebilirsiniz.

REST

dataSources kaynağı, her veri kaynağı için veri türünü (ve alanlarının listesini) içerir. Veri kaynakları oluştururken bu veri türlerinden birini belirtebilirsiniz. Fitness mağazasından bir veri kaynağı aldığınızda veri türünün adını ve alan listesini görebilirsiniz.

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

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

Yetkilendirme kapsamları

Yetkilendirme kapsamları, kullanıcıların bir uygulamaya erişmesine izin verebileceğ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 vermeyi kolaylaştırır. Kullanıcılar uygulamanızı indirdikten sonra bu izinleri verirler.

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

Uygulamanızı az sayıda kullanıcıyla test ettikten sonra, uygulamanızı kullanıma sunmadan önce bu veri türleriyle ilgili kapsamı temel alan doğrulama isteğinde bulunmanız gerekir. Her bir veri türü için geçerli olan kapsamları anlamak üzere yukarıda bağlantı verilen veri türleri sayfalarını okuyun.

Örneğin, uygulamanızın tansiyonu okuması ve yazması gerekiyorsa hem okuma hem de yazma işlemi yaptığını beyan etmesi ve her iki kapsam için de istekte bulunması gerekir. Yalnızca tansiyon verilerini Google Fit platformuna yazıyorsa yalnızca yazma kapsamını istemesi gerekir.

Veri türlerini sorumlu bir şekilde seçin. Uygulamanızın ihtiyaç duyabileceği durumlarda 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ı ve açıkça açıklanan kapsamlara daha kolay bir şekilde erişim izni verir.

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

Kapsam Açıklama Kategori
https://www.googleapis.com/auth/fitness.activity.read Google Fit platformundaki aktivite verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.activity.write Aktivite verilerini Google Fit platformuna yaz Kısıtlı
https://www.googleapis.com/auth/fitness.blood_glucose.read Google Fit platformundan kan şekeri verilerini okuyun. Kısıtlı
https://www.googleapis.com/auth/fitness.blood_glucose.write Google Fit platformuna kan şekeri verileri yazın. 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 yazın. Kısıtlı
https://www.googleapis.com/auth/fitness.body.read Google Fit platformundan vücut ölçüm verilerini (yükseklik, ağırlık, vücut yağ yüzdesi) okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.body.write Vücut ölçümü verilerini Google Fit platformuna yazın. Kısıtlı
https://www.googleapis.com/auth/fitness.body_temperature.read Google Fit platformundan vücut sıcaklığı verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.body_temperature.write Vücut ısısı verilerini Google Fit platformuna yaz. 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 platformundaki konum verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.location.write Konum verilerini Google Fit platformuna yazın. Kısıtlı
https://www.googleapis.com/auth/fitness.nutrition.read Google Fit platformundaki beslenme verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.nutrition.write Google Fit platformuna beslenme verileri yazın. Kısıtlı
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Google Fit platformundan oksijen doygunluğu verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Google Fit platformuna oksijen doygunluğu verileri yazın. Kısıtlı
https://www.googleapis.com/auth/fitness.reproductive_health.read Google Fit platformundan üreme sağlığı verilerini okuyun. Kısıtlı
https://www.googleapis.com/auth/fitness.reproductive_health.write Google Fit platformuna üreme sağlığı verilerini yazın. Kısıtlı
https://www.googleapis.com/auth/fitness.sleep.read Google Fit platformundan uyku verilerini okuma. Kısıtlı
https://www.googleapis.com/auth/fitness.sleep.write Uyku verilerini Google Fit platformuna yaz. Kısıtlı

Mevcut bir uygulamaya yeni kapsamlar ekleme

Yeni bir kapsam istemek için uygulamanızı güncellediğinizde (örneğin, yeni uyku veya nabız kapsamları ekler ya da okuma kapsamı eklerseniz) kullanıcılardan uygulamanız için bu kapsamlara erişim isteğinde bulundukları ve erişim izni vermeyi veya reddetmeyi seçmeleri istenir.

En iyi uygulama, ihtiyaç duyduğunuzda kullanıcılardan yetkilendirme istemektir. Artımlı yetkilendirme istemeyle ilgili yönergeleri izleyin.

Uygulamanızın bu verileri neden/nasıl kullandığını anlaması durumunda kullanıcıların erişim verme olasılığı daha yüksek olacaktır:

  • Kullanıcıları, bu kapsamların isteneceği konusunda uyaran veya bilgilendiren bir ekran eklemeyi düşünebilirsiniz.
  • Kullanıcıların bilinçli karar verebilmeleri için uygulamanızın bu kapsamlara/verilere neden 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.