Sağlık hizmetleri, ExerciseEvents
,
Bu reklamlar, egzersiz sırasında bir etkinlik oluştuğunda uygulamanıza bildirim gönderir ve bununla ilişkili meta verileri sağlar.
Bağımlılıkları ekleme
Egzersiz etkinliklerini kullanmak için Sağlık Hizmetleri SDK'sının en son sürümü gerekir.
Sağlık Hizmetleri'ne bağımlılık eklemek için Google Maven deposunu eklemeniz gerekir projenize ekleyin. Daha fazla bilgi için bkz. Google'ın Maven deposu.
Ardından modül düzeyindeki build.gradle
dosyanıza aşağıdaki bağımlılığı ekleyin:
Eski
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha03" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha03") }
Özellikleri kontrol edin
Sağlık Hizmetleri'ndeki tüm egzersizlerde ve veri türlerinde olduğu gibi özellikleri şuradan kontrol edin:
başlatma. Örneğin,
ExerciseEvents
(ExerciseCapabilities
istemeye ek olarak),
ExerciseTypeCapabilities.supportedExerciseEvents
kullan
desteklenen bir egzersizdir.
Belirli bir ExerciseEvent
desteklendiğini onayladıktan sonra,
kullanarak egzersiz etkinliğinin özelliklerini de sorgulamalısınız.
getExerciseEventCapabilityDetails
Aşağıdaki örnekte,
GOLF_SHOT_EVENT
destekleniyor ve ardından GOLF_SHOT_EVENT
öğesinin
Salıncak Türü Sınıflandırmasını destekler.
fun handleCapabilities(capabilities: ExerciseCapabilities) {
val golfCapabilities = capabilities.typeToCapabilities[ExerciseType.GOLF]
val golfShotEventSupported =
golfCapabilities
?.supportedExerciseEvents
?.contains(ExerciseEventType.GOLF_SHOT_EVENT)
val golfSwingTypeClassificationSupported =
golfCapabilities
?.getExerciseEventCapabilityDetails(ExerciseEventType.GOLF_SHOT_EVENT)
?.isSwingTypeClassificationSupported ?: false
}
Bir egzersizdeki egzersiz etkinliklerini isteme
Egzersizi başlatmak ve alıştırma kapsamında bir egzersiz etkinliği talep etmek için,
alıştırma için ExerciseConfig
beyanında bulunun
ve exerciseEventType
için bir alan ekleyin.
Aşağıdaki örnek, bir GOLF
alıştırmasının parçası olarak GOLF_SHOT_EVENT
isteğinde bulunuyor:
val config = ExerciseConfig(
exerciseType = ExerciseType.GOLF,
dataTypes = setOf(....),
// ...
exerciseEventTypes = setOf(ExerciseEventType.GOLF_SHOT_EVENT),
)
Egzersiz etkinliği güncellemelerine kaydolun
Mevcut altyapı kapsamında ExerciseEvent
güncellemeleri alabilirsiniz
uygulamanızda egzersiz güncellemeleri almak için özellik bulunuyor.
Aşağıdaki örnekte, GolfShotEvent
güncellemeleri için desteği nasıl dahil edeceğiniz gösterilmektedir:
val callback = object : ExerciseUpdateCallback {
override fun onExerciseUpdateReceived(update: ExerciseUpdate) {
...
}
// [ExerciseEvent] intended to come through with low latency and out of
// band of onExerciseUpdateReceived()
override fun onExerciseEventReceived(event: ExerciseEvent) {
when (event) {
is GolfShotEvent -> {
if (it.swingType == GolfShotSwingType.PUTT) {
println("Putt detected!")
}
}
}
}
}