Panduan untuk Health Connect Matchmaking API.
Ringkasan
Matchmaking API memungkinkan aplikasi Anda menemukan aplikasi dan perangkat lain yang dapat menulis data kesehatan yang izin membacanya telah diberikan ke aplikasi Anda. Hal ini membantu pengguna menghubungkan sumber data favorit mereka ke aplikasi Anda dengan lebih mudah.
Layar Penemuan aplikasi dan perangkat yang kompatibel dengan Health Connect. Kemudian, izin baca yang diperlukan aplikasi Anda akan dibandingkan dengan kemampuan tulis aplikasi dan perangkat tersebut. Layar menampilkan aplikasi dan perangkat yang telah mendeklarasikan, tetapi belum memberikan, izin tulis untuk setidaknya satu jenis catatan yang ditentukan yang diizinkan untuk dibaca oleh aplikasi Anda.
Sebelum memulai
Panduan ini mengasumsikan bahwa Anda telah
mengonfigurasi Health Connect di aplikasi Anda
dan memiliki instance HealthConnectClient yang tersedia.
Penyiapan beta
Matchmaking API tersedia melalui update Health Connect yang di-roll out secara bertahap ke perangkat produksi, dengan ketersediaan 100% yang diharapkan pada awal Juni 2026. Untuk menguji fitur pencocokan sebelum update ini tersedia secara luas, daftarkan perangkat pengujian Anda ke program Beta Android untuk mendapatkan akses awal.
Memeriksa ketersediaan Health Connect
Sebelum mencoba menggunakan Health Connect, aplikasi Anda harus memverifikasi bahwa Health Connect tersedia di perangkat pengguna. Health Connect mungkin tidak diinstal di perangkat pengguna, atau mungkin dinonaktifkan.
Gunakan HealthConnectClient.getSdkStatus() untuk memeriksa
ketersediaan. Jika Health Connect tidak tersedia, minta pengguna untuk
menginstal atau mengupdate Health Connect dari Google Play Store.
Periksa ketersediaan fitur
Untuk menentukan apakah perangkat pengguna mendukung pencocokan di Health Connect,
periksa ketersediaan FEATURE_MATCHMAKING:
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_MATCHMAKING
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
Penerapan
Alur pencarian lawan diluncurkan menggunakan MatchmakingRequest. Permintaan ini
menentukan jenis rekaman yang ingin dikumpulkan aplikasi Anda, dan memungkinkan Anda menyertakan atau
mengecualikan sumber data tertentu seperti aplikasi atau perangkat:
recordTypes: Kumpulan classRecordsepertiStepsRecord::class. Jika kosong, alur akan mempertimbangkan semua jenis rekaman yang izin bacanya dimiliki oleh aplikasi Anda.includedDataSources: Kumpulan objekDataOriginyang akan disertakan secara eksklusif.excludedDataSources: Kumpulan objekDataOriginyang akan dikecualikan.
Ikuti langkah-langkah berikut untuk mengintegrasikan Matchmaking API ke dalam aplikasi Anda.
Memeriksa apakah matchmaking memungkinkan
Sebelum menampilkan titik entri pencocokan, gunakan
checkIfMatchmakingIsPossible() untuk menentukan apakah ada aplikasi atau perangkat yang cocok dan relevan
untuk jenis rekaman yang diminta:
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
}
}
Sebaiknya periksa apakah matchmaking dapat dilakukan secara berkelanjutan.
Pengguna mungkin menginstal aplikasi tambahan atau menghubungkan perangkat dengan jenis data yang kompatibel satu sama lain. Pendekatan umum adalah memeriksa setiap kali aplikasi Anda dimulai. Jika menampilkan true, tampilkan titik entri untuk meluncurkan alur matchmaking.
Mulai alur Pemadanan
Jika pencocokan memungkinkan, gunakan createMatchmakingIntent() untuk mendapatkan Intent
guna meluncurkan alur Health Connect, lalu luncurkan menggunakan Activity Result
API:
// 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)
}
Dengan meluncurkan intent ini, Health Connect akan menampilkan layar tempat pengguna dapat melihat aplikasi dan perangkat yang kompatibel, serta memilih untuk menghubungkannya guna membagikan data ke aplikasi Anda.