קריאת נתונים גולמיים

הדוגמה הבאה ממחישה איך לקרוא נתונים גולמיים כחלק בתהליך העבודה.

קריאה פשוטה

סוג הנתונים של השלבים ב-Health Connect מתעד את מספר הצעדים שהמשתמש עבר נלקחת בין הקריאות. ספירת צעדים מייצגת מדידה משותפת פלטפורמות של בריאות, כושר וכושר. עם Health Connect קל לקרוא ולכתוב נתונים של ספירת צעדים.

כדי לקרוא רשומות, צריך ליצור ReadRecordsRequest ולספק כשמתקשרים אל readRecords.

הדוגמה הבאה מראה איך לקרוא את נתוני ספירת הצעדים של משתמש במסגרת זמן מסוים. בדוגמה מורחבת עם SensorManager, לראות את ספירת הצעדים. ב-Google Analytics 4.

suspend fun readStepsByTimeRange(
    healthConnectClient: HealthConnectClient,
    startTime: Instant,
    endTime: Instant
) {
    try {
        val response = healthConnectClient.readRecords(
            ReadRecordsRequest(
                StepsRecord::class,
                timeRangeFilter = TimeRangeFilter.between(startTime, endTime)
            )
        )
        for (stepRecord in response.records) {
            // Process each step record
        }
    } catch (e: Exception) {
        // Run error handling here
    }
}

קריאת נתונים שנכתבו בעבר

אם אפליקציה כבר כתבה רשומות ל-Health Connect, יכול להיות שזה יקרה כדי לקרוא אותם בחזרה בלי לבקש הרשאת קריאה לאותם משתמשים רשומות. זה רלוונטי לתרחישים שבהם האפליקציה צריכה להסתנכרן מחדש עם Health Connect אחרי שהמשתמש התקין אותו מחדש.

כדי לקרוא נתונים בתרחיש הזה, צריך לציין את שם החבילה בתור DataOrigin בפרמטר dataOriginFilter של הפרמטר ReadRecordsRequest.

בדוגמה הבאה מוסבר איך לציין שם חבילה כשקוראים את 'שלבים' רשומות:

try {
    val response =  healthConnectClient.readRecords(
        ReadRecordsRequest(
            recordType = StepsRecord::class,
            timeRangeFilter = TimeRangeFilter.between(startTime, endTime),
            dataOriginFilter = setOf(DataOrigin("com.my.package.name"))
        )
    )
    for (record in response.records) {
        // Process each record
    }
} catch (e: Exception) {
    // Run error handling here
}

הגבלת קריאה למשך 30 יום

Health Connect יכולה לקרוא נתונים במשך עד 30 יום לפני התאריך שבו הרשאה כלשהי כמחווה של רצון טוב.

עם זאת, אם משתמש ימחק את האפליקציה, היסטוריית ההרשאות תאבד. אם המשתמש תתקין מחדש את האפליקציה ותעניק שוב הרשאה, האפליקציה יכולה לקרוא נתונים מ- Health Connect עד 30 יום לפני התאריך החדש.

דוגמה

אם משתמש העניק לכם הרשאת קריאה לאפליקציה שלכם ב-30 במרץ 2023: הנתונים המוקדם ביותר שהאפליקציה יכולה לקרוא הם מ-28 בפברואר 2023 ואילך.

אחר כך המשתמש ימחק את האפליקציה ב-10 במאי 2023. המשתמש מחליט להתקין מחדש לקרוא אותו ב-15 במאי 2023 ולהעניק לו הרשאת קריאה. התאריך המוקדם ביותר שבו האפליקציה יכולה עכשיו נתונים שנקראו החל מ-15 באפריל 2023.

הגבלה בחזית

קריאת נתונים באמצעות Health Connect מוגבלת לאפליקציות שפועלות בחזית. ההגבלה הזו נועדה לשפר את פרטיות המשתמשים. כך אפשר לוודא שלמשתמשים של Health Connect אין גישת קריאה ברקע את הנתונים שלהם, ושנתונים אלה נקראים וניגשים אליהם רק בחזית.

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

במצבים שבהם אתם מעדיפים ללא הפרעות, כמו קריאת טווח של נתונים מ-Health Connect ולאחר מכן לכתוב ולהעלות אותם במקום אחר, להשתמש ForegroundService, במקום פעילות שבה אפשר לסגור אותה במהירות.