Health Connect Matchmaking API kılavuzu.
Genel Bakış
Eşleştirme API'si, uygulamanızın okuma iznine sahip olduğu sağlık verilerini yazabilen diğer uygulamaları ve cihazları keşfetmesine olanak tanır. Bu sayede kullanıcılar, en sevdikleri veri kaynaklarını uygulamanıza daha kolay bağlayabilir.
Eşleştirme ekranında, Health Connect ile uyumlu uygulamalar ve cihazlar bulunur. Ardından, uygulamanızın gerektirdiği okuma izinlerini bu uygulama ve cihazların yazma özellikleriyle çapraz referanslandırır. Ekranda, uygulamanızın okumasına izin verilen belirtilen kayıt türlerinden en az biri için yazma izni beyan eden ancak henüz verilmeyen uygulamalar ve cihazlar gösterilir.
Başlamadan önce
Bu kılavuzda, uygulamanızda Health Connect'i yapılandırdığınız ve HealthConnectClient örneğinizin olduğu varsayılır.
Beta kurulumu
Eşleştirme API'si, Health Connect'te yapılan ve üretim cihazlarında kademeli olarak kullanıma sunulan bir güncelleme aracılığıyla kullanılabilir. API'nin Haziran 2026'nın başlarında% 100 kullanılabilir olması beklenmektedir. Bu güncelleme genel kullanıma sunulmadan önce eşleştirme özelliklerini test etmek için test cihazınızı erken erişim amacıyla Android Beta Programı'na kaydedin.
Health Connect'in kullanılabilirliğini kontrol etme
Uygulamanız, Health Connect'i kullanmaya çalışmadan önce kullanıcının cihazında Health Connect'in kullanılabilir olduğunu doğrulamalıdır. Health Connect, kullanıcının cihazına yüklenmemiş veya devre dışı bırakılmış olabilir.
Kullanılabilirliği kontrol etmek için HealthConnectClient.getSdkStatus() simgesini kullanın. Health Connect kullanılamıyorsa kullanıcıdan Health Connect'i Google Play Store'dan yüklemesini veya güncellemesini isteyin.
Özelliklerin kullanıma sunulma durumunu kontrol etme
Bir kullanıcının cihazının Health Connect'te eşleştirme özelliğini destekleyip desteklemediğini belirlemek için FEATURE_MATCHMAKING özelliğinin kullanılabilirliğini kontrol edin:
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_MATCHMAKING
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
Uygulama
Eşleştirme akışı, MatchmakingRequest kullanılarak başlatılır. Bu istek, uygulamanızın hangi kayıt türlerini toplamasını istediğinizi tanımlar ve uygulamalar veya cihazlar gibi belirli veri kaynaklarını dahil etmenize ya da hariç tutmanıza olanak tanır:
recordTypes:StepsRecord::classgibiRecordsınıf. Boşsa akış, uygulamanızın okuma izni verdiği tüm kayıt türlerini dikkate alır.includedDataSources: Yalnızca dahil edilecekDataOriginnesneleri grubu.excludedDataSources: Hariç tutulacakDataOriginnesneleri kümesi.
Matchmaking API'yi uygulamanıza entegre etmek için aşağıdaki adımları uygulayın.
Eşleştirmenin mümkün olup olmadığını kontrol etme
Bir eşleştirme giriş noktasını göstermeden önce, istenen kayıt türleri için alakalı eşleşen uygulamalar veya cihazlar olup olmadığını belirlemek üzere checkIfMatchmakingIsPossible() kullanın:
suspend fun checkMatchmakingPossible(healthConnectClient: HealthConnectClient) {
val request = MatchmakingRequest(recordTypes = setOf(StepsRecord::class))
val response = healthConnectClient.checkIfMatchmakingIsPossible(request)
if (response.isMatchmakingPossible) {
// Relevant apps or devices found. Show entry point to launch flow.
} else {
// Handle case where no new data sources are available
}
}
Eşleştirmenin sürekli olarak mümkün olup olmadığını kontrol etmenizi öneririz.
Kullanıcılar daha sonra ek uygulamalar yükleyebilir veya cihazları karşılıklı olarak uyumlu veri türleriyle bağlayabilir. Yaygın bir yaklaşım, uygulamanız her başlatıldığında kontrol etmektir. true döndürürse eşleştirme akışını başlatmak için bir giriş noktası gösterin.
Eşleştirme akışını başlatma
Eşleştirme mümkünse Health Connect akışını başlatmak için createMatchmakingIntent() kullanın, ardından Activity Result API'yi kullanarak başlatın:Intent
// Create the matchmaking launcher
val matchmakingLauncher = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { result ->
if (result.resultCode == Activity.RESULT_OK) {
// Matchmaking finished successfully.
// User successfully granted at least one permission.
} else {
// User canceled flow or didn't grant permissions.
}
}
fun launchMatchmaking(healthConnectClient: HealthConnectClient) {
val request = MatchmakingRequest(recordTypes = setOf(StepsRecord::class))
val intent = healthConnectClient.createMatchmakingIntent(request)
matchmakingLauncher.launch(intent)
}
Bu amaç başlatıldığında Health Connect, kullanıcıların uyumlu uygulamaları ve cihazları görebileceği, bunları bağlayarak uygulamanızla veri paylaşmayı seçebileceği bir ekran gösterir.