Matchmaking API

מדריך לממשק ה-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 מסך שבו המשתמשים יכולים לראות אפליקציות ומכשירים תואמים, ולבחור לקשר אותם כדי לשתף נתונים עם האפליקציה שלכם.

מסך שידוך שמציג רשימה של אפליקציות שיכולות לשתף נתונים עם Health Connect.
איור 1. למשתמשים מוצגות אפליקציות שיכולות לכתוב נתונים שהם רוצים לשתף.

מסך שידוך שמציג רשימה של אפליקציות שיכולות לשתף נתונים עם Health Connect.

מסך ההרשאות של Health Connect כדי לאשר או לבטל את שיתוף הנתונים.
איור 2. המשתמשים נותנים לאפליקציה הרשאה לקרוא נתונים מ-Health Connect.

מסך ההרשאות של Health Connect כדי לאשר או לבטל את שיתוף הנתונים.