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. Veri noktası şunları temsil edebilir:
- Anlık okuma veya gözlem
- Bir zaman aralığındaki istatistikleri içeren toplama
Google Fit, anlık gözlemler için veri türleri ve toplu veriler için veri türleri tanımlar. Veri noktaları, bir veri türünün alanlarının değerlerinden ve zaman damgası bilgilerinden oluşur. Anlık gözlemleri temsil eden noktalarda zaman damgası bulunur. Toplu veri türündeki noktalarda ise aralığın başlangıç zamanı da yer alır.
Google Fit, yeni veri türleri tanımlamanıza da olanak tanır.
Veri türü grupları
Google Fit'te aşağıdaki veri türleri bulunur:
- 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 gibi sağlık ve sağlıklı yaşam verileri için anlık okumaları yakalar. Bu veri türlerine yazmak ve bunları okumak için ilgili izinleri isteyen uygulamalar (yalnızca yazan uygulama tarafından okunabilen birkaç konum verisi türü hariç) bu verilere erişebilir.
Daha fazla bilgi için aşağıdaki sayfaları inceleyin:
- Sağlık verisi türleri
- Potansiyel olarak hassas veriler nedeniyle erişimi kısıtlanmış, platform tarafından sağlanan veri türleri. Daha fazla bilgi için Sağlık verisi türleri başlıklı makaleyi inceleyin.
- Toplu veri türleri
- Sağlık ve sağlıklı yaşam bilgilerini zamana veya etkinlik türüne göre toplayıp okumak için kullanılan veri türleri. Daha fazla bilgi için Toplu veri türleri başlıklı makaleyi inceleyin.
- Özel veri türleri
- Belirli bir uygulama tarafından tanımlanan özel veri türleri. Bu türdeki verileri yalnızca veri türünü tanımlayan uygulama okuyabilir ve yazabilir. Daha fazla bilgi için Özel veri türleri başlıklı makaleyi 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 için Recording API'yi kullanarak kaydetmek istediğiniz her veri türü için bir abonelik oluşturun.
- Verileri okumak için her veri türü için bir okuma isteği göndermek üzere History API'yi kullanın.
- Geçmişten gelen geçmiş verileri eklemek için her veri türüyle ilgili bir ekleme isteği göndermek üzere History API'yi kullanın.
- Oturum oluşturmak için oturum meta verileri içeren verileri eklemek veya kaydetmek üzere Oturumlar API'sini kullanın.
Anlık DataType nesnesi için veri noktaları oluşturmak üzere doğru biçimde değerler atayın. Aşağıdaki örnekte, yemek öğesinin dize olarak, öğün türünün Field sınıfından sabit olarak ve besin içeriklerinin eşlenmiş kayan nokta değerleri 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ı ayarladıktan 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 listesini) içerir. Veri kaynakları oluştururken bu veri türlerinden birini belirtebilirsiniz. Ayrıca, fitness mağazasından bir veri kaynağı alırken veri türünün adını ve alanlarının listesini edinebilirsiniz.
Örneğin, bir veri kaynağı gösterimi, veri türünü aşağıdaki gibi belirtir:
{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
"name": "com.google.step_count.delta"
},
...
}Yetkilendirme kapsamları
Yetkilendirme kapsamları, kullanıcının bir uygulamanın erişmesine yetki verebileceği veri türü gruplarını kapsar. Bu izinler, kullanıcıların bir uygulamanın ne tür verilere erişmek istediğini anlamasına yardımcı olur. Ayrıca, her bir veri türünü onaylamanız gerekmediği için uygulamalara bu verileri kullanma izni vermeyi kolaylaştırır. Kullanıcılar, uygulamanızı indirdikten sonra bu izinleri verir.
Uygulamanızı az sayıda kullanıcıyla test ettikten sonra, uygulamanızı kullanıma sunmadan önce bu veri türleriyle ilgili kapsamlar temelinde doğrulama isteğinde bulunmanız gerekir. Hangi kapsamların her veri türü için geçerli olduğunu anlamak üzere yukarıda bağlantısı verilen veri türleri sayfalarını inceleyin.
Ö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ı da istemesi gerekir. Yalnızca Google Fit platformuna tansiyon verileri yazıyorsa yalnızca yazma kapsamı isteğinde bulunması gerekir.
Veri türlerini sorumlu bir şekilde seçin. Uygulamanızın ihtiyaç duyabileceği her veri türünü istemeyin. Belirtilen türler, kullanıcıdan hangi kapsamlar için izin vermesinin isteneceği konusunda belirleyici olur. 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 net bir şekilde açıklanmış kapsamlara daha kolay erişim izni verir.
| Kapsam | Açıklama | Kategori |
|---|---|---|
https://www.googleapis.com/auth/fitness.activity.read |
Google Fit platformundaki etkinlik verilerini okuma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.activity.write |
Google Fit platformuna etkinlik verileri yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
Google Fit platformundan kan şekeri verilerini okuma. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
Google Fit platformuna kan şekeri verilerini yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
Google Fit platformundaki tansiyon verilerini okuma. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
Tansiyon verilerini Google Fit platformuna yazma. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.body.read |
Google Fit platformundan vücut ölçüsü verilerini (boy, kilo, vücut yağ yüzdesi) okuma. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.body.write |
Vücut ölçüsü verilerini Google Fit platformuna yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.body_temperature.read |
Google Fit platformundaki vücut sıcaklığı verilerini okuma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.body_temperature.write |
Google Fit platformuna vücut sıcaklığı verileri yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.heart_rate.read |
Google Fit platformundan nabız verilerini okuma. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.heart_rate.write |
Google Fit platformuna nabız verilerini yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.location.read |
Google Fit platformundan konum verilerini okuma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.location.write |
Google Fit platformuna konum verileri yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.nutrition.read |
Google Fit platformundan beslenme verilerini okuma. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.nutrition.write |
Google Fit platformuna beslenme verileri yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
Google Fit platformundaki oksijen doygunluğu verilerini okuyabilir. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
Oksijen doygunluğu verilerini Google Fit platformuna yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
Google Fit platformundan üreme sistemi sağlığı verilerini okuma. | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
Google Fit platformuna üreme sistemi sağlığı verileri yazma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.sleep.read |
Google Fit platformundan uyku verilerini okuma | Kısıtlanmış |
https://www.googleapis.com/auth/fitness.sleep.write |
Uyku verilerini Google Fit platformuna yazma | Kısıtlanmış |
Mevcut bir uygulamaya yeni kapsamlar ekleme
Uygulamanızı yeni bir kapsam isteyecek şekilde güncellediğinizde (ör. yeni uyku veya kalp atış hızı kapsamlarını eklediğinizde ya da bir okuma kapsamı eklediğinizde) kullanıcılara uygulamanızın bu kapsamlara erişim istediği bildirilir ve erişimi kabul edip etmeyeceklerini seçebilirler.
Kullanıcılardan kaynaklar için yetkilendirme isteğinde bulunmak en iyi uygulamadır. Aşamalı yetkilendirme isteğinde bulunmayla ilgili yönergeleri uygulayın.
Kullanıcılar, uygulamanızın bu verileri neden/nasıl kullandığını anlarsa erişim izni verme olasılığı daha yüksek olur:
- Kullanıcılardan bu kapsamlar için izin isteneceğini belirten/bildiren bir ekran eklemeyi düşünebilirsiniz.
- Uygulamanızın neden bu kapsamlar/veriler için erişim istediğini kullanıcılara net bir şekilde açıklayın. Böylece kullanıcılar bilinçli bir karar verebilir.
Android'deki uygulama izinleriyle ilgili en iyi uygulamalar hakkında daha fazla bilgi edinin.