คำแนะนำเกี่ยวกับ Health Connect Matchmaking API
ภาพรวม
Matchmaking API ช่วยให้แอปของคุณค้นพบแอปและอุปกรณ์อื่นๆ ที่สามารถเขียนข้อมูลสุขภาพซึ่งแอปของคุณมีสิทธิ์อ่านได้ ซึ่งจะช่วยให้ผู้ใช้เชื่อมต่อแหล่งข้อมูลที่ชื่นชอบกับแอปของคุณได้ง่ายขึ้น
หน้าจอการจับคู่จะค้นหาแอปและอุปกรณ์ที่เข้ากันได้กับ Health Connect จากนั้นจะอ้างอิงโยงสิทธิ์อ่านที่จำเป็นของแอปกับความสามารถในการเขียนของแอปและอุปกรณ์เหล่านั้น หน้าจอจะแสดงแอปและอุปกรณ์ที่ประกาศแต่ยังไม่ได้ให้สิทธิ์เขียนสำหรับบันทึกประเภทใดประเภทหนึ่งที่ระบุไว้ซึ่งแอปของคุณได้รับอนุญาตให้อ่าน
ก่อนเริ่มต้น
คู่มือนี้ถือว่าคุณได้
กำหนดค่า Health Connect ในแอป
และมีอินสแตนซ์ของ HealthConnectClient พร้อมใช้งานแล้ว
การตั้งค่าเวอร์ชันเบต้า
Matchmaking API พร้อมใช้งานผ่านการอัปเดต Health Connect ซึ่งจะเปิดตัวในอุปกรณ์ที่ใช้งานจริงทีละน้อย โดยคาดว่าจะพร้อมใช้งาน 100% ภายในต้นเดือนมิถุนายน 2026 หากต้องการทดสอบฟีเจอร์การจับคู่ก่อนที่การ อัปเดตนี้จะพร้อมใช้งานอย่างกว้างขวาง ให้ลงทะเบียนอุปกรณ์ทดสอบใน โปรแกรม Android Beta เพื่อรับสิทธิ์เข้าถึงก่อนใคร
ตรวจสอบความพร้อมใช้งานของ Health Connect
ก่อนที่จะพยายามใช้ Health Connect แอปของคุณควรตรวจสอบว่า Health Connect พร้อมใช้งานในอุปกรณ์ของผู้ใช้หรือไม่ เนื่องจากอาจไม่ได้ติดตั้ง Health Connect ในอุปกรณ์ของผู้ใช้หรืออาจปิดใช้ Health Connect อยู่
ใช้ HealthConnectClient.getSdkStatus() เพื่อตรวจสอบ
ความพร้อมใช้งาน หาก Health Connect ไม่พร้อมใช้งาน ให้แจ้งให้ผู้ใช้ติดตั้งหรืออัปเดต Health Connect จาก Google Play Store
ตรวจสอบความพร้อมใช้งานของฟีเจอร์
หากต้องการดูว่าอุปกรณ์ของผู้ใช้รองรับการจับคู่ใน Health Connect หรือไม่ ให้ตรวจสอบความพร้อมใช้งานของ FEATURE_MATCHMAKING ดังนี้
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_MATCHMAKING
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
การใช้งาน
ระบบจะเปิดใช้โฟลว์การจับคู่โดยใช้ MatchmakingRequest คำขอนี้จะกำหนดประเภทบันทึกที่คุณต้องการให้แอปของคุณรวบรวม และช่วยให้คุณรวมหรือยกเว้นแหล่งข้อมูลที่เฉพาะเจาะจง เช่น แอปหรืออุปกรณ์ ได้ดังนี้
recordTypes: ชุดคลาสRecordเช่นStepsRecord::classหากว่างเปล่า โฟลว์จะพิจารณาประเภทบันทึกทั้งหมดที่แอปของคุณมีสิทธิ์อ่านincludedDataSources: ชุดออบเจ็กต์DataOriginที่จะรวมไว้เท่านั้นexcludedDataSources: ชุดออบเจ็กต์DataOriginที่จะยกเว้น
ทำตามขั้นตอนต่อไปนี้เพื่อผสานรวม Matchmaking API เข้ากับแอปพลิเคชัน
ตรวจสอบว่าการจับคู่เป็นไปได้หรือไม่
ก่อนที่จะแสดงจุดเริ่มต้นการจับคู่ ให้ใช้ checkIfMatchmakingIsPossible() เพื่อดูว่ามีแอปหรืออุปกรณ์ที่เกี่ยวข้องซึ่งตรงกับประเภทบันทึกที่ขอหรือไม่
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
}
}
เราขอแนะนำให้ตรวจสอบว่าการจับคู่เป็นไปได้หรือไม่เป็นประจำ
เนื่องจากผู้ใช้อาจติดตั้งแอปเพิ่มเติมหรือเชื่อมต่ออุปกรณ์ที่มีประเภทข้อมูลที่เข้ากันได้ในภายหลัง วิธีที่ใช้กันทั่วไปคือการตรวจสอบทุกครั้งที่แอปเริ่มต้น หากฟังก์ชันนี้แสดงผลเป็น true ให้แสดงจุดเริ่มต้นเพื่อเปิดใช้โฟลว์การจับคู่
เปิดใช้โฟลว์การจับคู่
หากการจับคู่เป็นไปได้ ให้ใช้ createMatchmakingIntent() เพื่อรับ Intent
สำหรับเปิดใช้โฟลว์ Health Connect แล้วเปิดใช้โดยใช้ 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)
}
การเปิดใช้ Intent นี้จะทำให้ Health Connect แสดงหน้าจอที่ผู้ใช้สามารถดูแอปและอุปกรณ์ที่เข้ากันได้ และเลือกเชื่อมต่อแอปและอุปกรณ์เหล่านั้นเพื่อแชร์ข้อมูลกับแอปของคุณ