Matchmaking API

دليل واجهة برمجة التطبيقات Health Connect Matchmaking API

نظرة عامة

تسمح واجهة برمجة التطبيقات Matchmaking API لتطبيقك باكتشاف التطبيقات والأجهزة الأخرى التي يمكنها كتابة بيانات الصحة التي يملك تطبيقك الإذن بقراءتها. ويساعد ذلك المستخدمين في ربط مصادر البيانات المفضّلة لديهم بتطبيقك بسهولة أكبر.

تكتشف شاشة Matchmaking التطبيقات والأجهزة المتوافقة مع Health Connect. ثمّ تقارن أذونات القراءة المطلوبة لتطبيقك بإمكانات الكتابة في هذه التطبيقات والأجهزة. تعرض الشاشة التطبيقات والأجهزة التي أعلنت عن أذونات الكتابة، ولكن لم يتم منحها بعد، لنوع واحد على الأقل من أنواع السجلات المحدّدة التي يُسمح لتطبيقك بقراءتها.

قبل البدء

يفترض هذا الدليل أنّك قد أعددت Health Connect في تطبيقك وأنّ لديك مثيلاً من HealthConnectClient متاحًا.

التحقّق من توفُّر Health Connect

قبل محاولة استخدام 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)
}

من خلال تشغيل هذا الغرض، يعرض Health Connect شاشة يمكن للمستخدمين من خلالها الاطّلاع على التطبيقات والأجهزة المتوافقة واختيار ربطها لمشاركة البيانات مع تطبيقك.

شاشة المطابقة التي تعرض قائمة بالتطبيقات التي يمكنها مشاركة البيانات مع Health Connect
الشكل 1. يتم عرض التطبيقات التي يمكنها كتابة البيانات التي قد يرغب المستخدمون في مشاركتها.

شاشة المطابقة التي تعرض قائمة بالتطبيقات التي يمكنها مشاركة البيانات مع Health Connect

شاشة أذونات Health Connect للسماح بمشاركة البيانات أو عدم السماح بها
الشكل 2. يمنح المستخدمون التطبيق أذونات قراءة البيانات من Health Connect.

شاشة أذونات Health Connect للسماح بمشاركة البيانات أو عدم السماح بها