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.
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.