מדריך לממשק ה-API של Health Connect Matchmaking.
סקירה כללית
ה-API של שירות ההתאמה מאפשר לאפליקציה שלכם לגלות אפליקציות ומכשירים אחרים שיכולים לכתוב נתוני בריאות שהאפליקציה שלכם קיבלה הרשאה לקרוא. כך המשתמשים יכולים לחבר את מקורות הנתונים המועדפים שלהם לאפליקציה בקלות רבה יותר.
במסך 'התאמה' מוצגים מכשירים ואפליקציות שתואמים ל-Health Connect. לאחר מכן, המערכת משווה בין הרשאות הקריאה הנדרשות של האפליקציה לבין יכולות הכתיבה של האפליקציות והמכשירים האלה. במסך מוצגות אפליקציות ומכשירים שהצהירו על הרשאות כתיבה, אבל ההרשאות האלה עדיין לא אושרו לפחות לאחד מסוגי הרשומות שצוינו, שהאפליקציה שלכם מורשית לקרוא.
לפני שמתחילים
המדריך הזה מניח שכבר הגדרתם את Health Connect באפליקציה ושיש לכם מופע של HealthConnectClient.
הגדרת גרסת בטא
Matchmaking API זמין דרך עדכון ל-Health Connect שמופץ בהדרגה למכשירי ייצור, וצפוי להיות זמין ב-100% עד תחילת יוני 2026. כדי לבדוק את התכונות של שידוך שחקנים לפני שהעדכון הזה יהיה זמין לכולם, צריך להירשם לתוכנית הבטא של Android במכשיר הבדיקה כדי לקבל גישה מוקדמת.
בדיקת הזמינות של Health Connect
לפני שמנסים להשתמש ב-Health Connect, האפליקציה צריכה לוודא שהשירות זמין במכשיר של המשתמש. יכול להיות שאפליקציית Health Connect לא מותקנת במכשיר של המשתמש או שהיא מושבתת.
אפשר להשתמש ב-HealthConnectClient.getSdkStatus() כדי לבדוק את הזמינות. אם Health Connect לא זמין, מציגים למשתמש בקשה להתקין או לעדכן את Health Connect מחנות Google Play.
בדיקת זמינות של תכונות
כדי לדעת אם המכשיר של המשתמש מאפשר למצוא שותפים לאימון ב-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 מסך שבו המשתמשים יכולים לראות אפליקציות ומכשירים תואמים, ולבחור לקשר אותם כדי לשתף נתונים עם האפליקציה שלכם.