Health Connect Matchmaking API के बारे में गाइड.
खास जानकारी
Matchmaking API की मदद से, आपका ऐप्लिकेशन ऐसे अन्य ऐप्लिकेशन और डिवाइसों का पता लगा सकता है जो सेहत से जुड़ा ऐसा डेटा लिख सकते हैं जिसे ऐक्सेस करने की अनुमति आपके ऐप्लिकेशन को मिली है. इससे उपयोगकर्ताओं को, आपके ऐप्लिकेशन से अपने पसंदीदा डेटा सोर्स कनेक्ट करने में आसानी होती है.
मैचमेकिंग स्क्रीन पर, Health Connect के साथ काम करने वाले ऐप्लिकेशन और डिवाइसों का पता चलता है. इसके बाद, यह आपके ऐप्लिकेशन के लिए ज़रूरी पढ़ने की अनुमतियों की तुलना, उन ऐप्लिकेशन और डिवाइसों की लिखने की क्षमताओं से करता है. इस स्क्रीन पर ऐसे ऐप्लिकेशन और डिवाइस दिखते हैं जिन्होंने आपके ऐप्लिकेशन को, बताए गए रिकॉर्ड टाइप में से कम से कम एक के लिए, डेटा में बदलाव करने की अनुमति देने का एलान किया है. हालांकि, अब तक अनुमति नहीं दी गई है.
शुरू करने से पहले
इस गाइड में यह माना गया है कि आपने पहले ही अपने ऐप्लिकेशन में Health Connect को कॉन्फ़िगर कर लिया है और आपके पास HealthConnectClient का इंस्टेंस उपलब्ध है.
बीटा वर्शन का सेटअप
Matchmaking API, Health Connect के अपडेट के ज़रिए उपलब्ध है. यह अपडेट, प्रोडक्शन डिवाइसों के लिए धीरे-धीरे रोल आउट किया जा रहा है. उम्मीद है कि यह जून 2026 की शुरुआत तक सभी डिवाइसों के लिए उपलब्ध हो जाएगा. मैचमेकिंग की सुविधाओं को इस अपडेट के सार्वजनिक तौर पर उपलब्ध होने से पहले आज़माने के लिए, अपने टेस्ट डिवाइस को Android के बीटा प्रोग्राम में रजिस्टर करें.
यह देखना कि Health Connect मौजूद और चालू है या नहीं
Health Connect का इस्तेमाल करने से पहले, आपके ऐप्लिकेशन को यह पुष्टि करनी चाहिए कि उपयोगकर्ता के डिवाइस पर Health Connect इंस्टॉल हो. ऐसा हो सकता है कि Health Connect, उपयोगकर्ता के डिवाइस पर इंस्टॉल न हो या इसे बंद कर दिया गया हो.
HealthConnectClient.getSdkStatus() का इस्तेमाल करके देखें कि सेवा उपलब्ध है या नहीं. अगर Health Connect उपलब्ध नहीं है, तो उपयोगकर्ता को Google Play Store से Health Connect इंस्टॉल या अपडेट करने के लिए कहें.
सुविधा की उपलब्धता देखें
यह पता लगाने के लिए कि उपयोगकर्ता के डिवाइस पर 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 दिखाता है, तो मैचमेकिंग की प्रोसेस शुरू करने के लिए, एंट्री पॉइंट दिखाएं.
मैचमेकिंग की प्रोसेस शुरू करना
अगर मैचमेकिंग की जा सकती है, तो Health Connect फ़्लो लॉन्च करने के लिए createMatchmakingIntent() का इस्तेमाल करके Intent पाएं. इसके बाद, 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)
}
इस इंटेंट को लॉन्च करने पर, Health Connect एक स्क्रीन दिखाता है. इस स्क्रीन पर, उपयोगकर्ता Health Connect के साथ काम करने वाले ऐप्लिकेशन और डिवाइस देख सकते हैं. साथ ही, वे आपके ऐप्लिकेशन के साथ डेटा शेयर करने के लिए, इन ऐप्लिकेशन और डिवाइसों को कनेक्ट कर सकते हैं.