HMS Health Kit | Android

Kayahan Başkeser
Huawei Developers - Türkiye
4 min readJul 1, 2020

Health Kit sayesinde, kullanıcıların talep ettiği hizmetleri sağlamak için cihazlardan fitness ve sağlık verilerini alabilir ve bu verileri Health Kit in sağladığı depolama alanında saklayabilirsiniz.

HUAWEI Health Kit, kurumsal geliştiricilere ve bireysel geliştiricilere açıktır.

Health Kit Özellikleri

Veri depolama = Kondisyon ve sağlık verilerini depolanması için bir veri platformu sağlar.

Veri Genişliği = Çeşitli fitness ve sağlık API ları sağlar.

Veri erişim yetkilendirme yönetimi = Kayıt edilen verilerin erişimini yönetebilirsiniz ve kullanıcı veri gizliliğini garanti eder.

Health Kit, HTTP Restful API aracılığı ile Health Platformuna erişme iznini verir. Telefon uygulamaları ve sunucu uygulamalarını destekler.

Health Kit Entegrasyonu

Öncelikle HMS Core entegrasyonunu yapmamız gerekiyor. Bu entegrasyonun adımlarına buradan ulaşabilirsiniz.

Hms Core entegrasyonu bittikten sonra Health Kit i kullanabilmek başvuru yapmak gerekiyor. Ve bu başvuruda Health Kit ile alakalı izinlerimizi ayarlıyoruz.

Açılan sayfada “Apply for Health Kit” butonuna tıklıyoruz.

1- Uygulamamızın türünü belirtiyoruz.

2- Hangi projemiz için Health Kit e başvuracağımızı seçiyoruz. APK Name kısmı otomatik olarak gelir.

3- Uygulamamızın yapacağı işleme göre gerekli yetkilendirmeleri seçiyoruz ve “submit” butonuna basıyoruz.

Bu işlem bittikten sonra başvuru yaptığınız projeleri ve durumlarını görebilirsiniz.

Ve son olarak, app klasöründeki build.gradle a Health Kit i ekliyoruz.

implementation ‘com.huawei.hms:hihealth-base:{version}’

HUAWEI Health Kit, Android client için aşağıdaki temel API’leri sağlar:

1- DataController, sağlık verilerinin eklenmesi, silinmesi, değiştirilmesi ve sorgulanması.
2- SensorsController , çevresel sensörler tarafından gerçek zamanlı veri raporlaması.
3- AutoRecorderController , egzersiz verilerini sürekli olarak kaydetme.
4- ActivityRecordsController, tek bir antrenman veya aktivite oluşturma ve yönetme.

Oturum Açma ve Scope Ekleme

Health Kit, verilere yalnızca kullanıcı yetkilendirmesi ile erişebilir. Bir uygulamanın erişebileceği veriler sadece, Health Kit için veri onayında yer alan ve kullanıcı tarafından başvurulan kapsamlar içerisindedir.

DataController

Health Kitini entegre ettikten ve giriş işlemi yaptıktan sonra veriler üzerinde işlem yapmak için DataController içerisindeki methodlar çağırılır.

10 adet işlem yer almaktadır.

  • insert: Veri ekleme.
  • delete: Veri silme.
  • update: Veri düzenleme.
  • read: Kayıtlı veriyi çeker.
  • readTodaySummation: O günün özetlenmiş verisini çeker.
  • readTodaySummationFromDevice: O günün özetlenmiş verisini telefonda kayıtlı olan kısımdan çeker.
  • registerModifyDataMonitor: Veri güncellemesi için Listener ekler.
  • unregisterModifyDataMonitor: Veri güncellemesi için eklenen Listener ı silmek için kullanılır.
  • syncAll: Cihaz ve clouddaki verileri senkronizasyonunu yapar.
  • clearAll: Cihaz ve clouddaki verileri siler.

Aşağıda DataControl ile CRUD işlemlerini görebilirsiniz.

SensorsController

Telefon üzerindeki bir sensörden veya BLE cihazdan bildirilen verileri almak için ve bir dinleyici eklemek için SensorsContoller kullanabiliriz.

Burada 2 adet senaryo vardır.

Senaryo 1: Telefonun Dahili Sensör Verilerini Kullanma
Senaryo 2: Harici Bir Bluetooth Aygıtı Kullanma

Aşağıdaki örnek kodda telefonun dahili sensör verilerini kullanarak adım sayısını dinlemeyi gösteriyor.

Ve SensorsContoller objesi ile BLE cihazlarının taramasını yapabilir, cihazlarını kayıt edebilir, silebilir ve cihazdan gelen verileri dinleyebilirsiniz.

SensorsController, veri toplayıcı tarafından bildirilen verileri otomatik olarak depolamaz. Sistem yeniden başlatıldığında dinleyici kayıtları devam etmeyecektir. Sürekli olarak bilgi depolamak veya veri kaydetmek için Otomatik Kayıt Cihazını kullanın. Hem SensorsController hem de AutoRecorder’ın kullanılması önerilir.

AutoRecorderController

Toplanan verileri otomatik olarak kayıt etmek için kullanılır.

Üç adet işlem barındırmaktadır. Bunlar:

1- startRecord, belirtilen dataType a gore otomatik kayıt işlemini başlatır.

2- stopRecord, daha önceden oluşturulmuş otomatik kayıt işlemini kapatır.

3- getRecord, mevcut AutoRecorderları görüntülemek için kullanılır.

ActivityRecordsController

Belirli zaman aralığındaki aktivitelerin davranışları için kullanılır.

Bir etkinlik kaydını başlatmak için beginActivityRecord yöntemi kullanılır.
Etkinlik kaydını sonlandırmak için endActivityRecord yöntemi kullanılır.
Health Platformuna geçmiş etkinlik kayıtlarını eklemek için addActivityRecord yöntemi kullanılır.
Health Platformundan geçmiş etkinlik kayıtlarını okumak için getActivityRecord yöntemi kullanılır.
Etkinlik kaydı durumunu izlemek üzere bir dinleyici kaydetmek için addActrivityRecordsMonitor yöntemi kullanılır.
Etkinlik kaydı durum değişikliği olduğunda geri arama bildirimi gönderilir.
Etkinlik kayıtlarının durum değişikliklerini dinlemeyi durdurmak için removeActivityRecordsMonitor yöntemi kullanılır.

Son olarak, Huawei Geliştirici forum sayfasından karşılaştığınız sorunları sorabilir ve daha önce cevaplanmış olan soruları görebilirsiniz.

Referanslar

--

--