הדרישות לגבי מטא-נתונים

המדריך הזה תואם לגרסה 1.1.0-alpha12 של Health Connect.

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

פרטי הספרייה

מזהה הארטפיקט של פלאגין Google Maven Android gradle מציין את ספריית Health Connect שאליה תצטרכו לשדרג. מוסיפים את התלות הזו ב-Health Connect SDK לקובץ build.gradleברמת המודול:

dependencies {
  implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}

שינויים במטא-נתונים

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

חובה לציין פרטים של מטא-נתונים בכל פעם שמופעל אובייקט מסוג Record().

כשכותבים נתונים ב-Health Connect, צריך לציין אחת מ-4 שיטות תיעוד:

שיטת ההקלטה תיאור
RECORDING_METHOD_UNKNOWN לא ניתן לאמת את שיטת ההקלטה.
RECORDING_METHOD_MANUAL_ENTRY המשתמש הזין את הנתונים.
RECORDING_METHOD_AUTOMATICALLY_RECORDED המכשיר או החיישן תיעדו את הנתונים.
RECORDING_METHOD_ACTIVELY_RECORDED המשתמש הפעיל את ההתחלה או הסיום של סשן ההקלטה במכשיר.

לדוגמה:

StepsRecord(
    startTime \= Instant.ofEpochMilli(1234L),
    startZoneOffset \= null,
    endTime \= Instant.ofEpochMilli(1236L),
    endZoneOffset \= null,
    metadata \= Metadata.manualEntry(),
    Count \= 10,
)

חובה לציין סוג מכשיר לכל הנתונים שמתועדים באופן אוטומטי ופעיל. סוגי המכשירים הנוכחיים כוללים:

סוג המכשיר תיאור
TYPE_UNKNOWN סוג המכשיר לא ידוע.
TYPE_WATCH סוג המכשיר הוא שעון.
TYPE_PHONE סוג המכשיר הוא טלפון.
TYPE_SCALE סוג המכשיר הוא משקל.
TYPE_RING סוג המכשיר הוא טבעת.
TYPE_HEAD_MOUNTED סוג המכשיר הוא מכשיר שחובשים על הראש.
TYPE_FITNESS_BAND סוג המכשיר הוא צמיד כושר.
TYPE_CHEST_STRAP סוג המכשיר הוא רצועת חזה.
TYPE_SMART_DISPLAY סוג המכשיר הוא מסך חכם.

אם אפשר, כדאי לציין את היצרן והדגם של המכשיר בנוסף לסוג המכשיר. לדוגמה:

private val TEST_DEVICE = Device(
    manufacturer = "Google",
    model = "Pixel Watch",
    type = Device.TYPE_WATCH
)

קטעי הטקסט עודכנו

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

שיטות חדשות של מטא-נתונים

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

  • activelyRecorded

    • fun activelyRecorded(device: Device): Metadata.
    • fun activelyRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
    • fun activelyRecordedWithId(id: String, device: Device): Metadata
  • autoRecorded

    • fun autoRecorded(device: Device): Metadata
    • fun autoRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
    • fun autoRecordedWithId(id: String, device: Device): Metadata
  • manualEntry

    • fun manualEntry(device: Device? = null): Metadata
    • fun manualEntry(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
    • fun manualEntryWithId(id: String, device: Device? = null): Metadata
  • unknownRecordingMethod

    • fun unknownRecordingMethod(device: Device? = null): Metadata
    • fun unknownRecordingMethod(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
    • fun unknownRecordingMethodWithId(id: String, device: Device? = null): Metadata

מידע נוסף זמין בפרויקט הקוד הפתוח של Android.

נתוני בדיקה

משתמשים ב-Testing Library כדי ליצור מוקאפ של ערכי מטא-נתונים צפויים:

private val TEST_METADATA =
    Metadata.unknownRecordingMethod(
        clientRecordId = "clientId",
        clientRecordVersion = 1L,
        device = Device(type = Device.TYPE_UNKNOWN),
    ).populatedWithTestValues(id = "test")

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

כדי להשתמש בספריית הבדיקות, צריך להוסיף את התלות הזו ב-Health Connect SDK לקובץ build.gradle ברמת המודול:

dependencies {
  testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}

שדרוג הספרייה

השלבים העיקריים שצריך לבצע הם:

  1. משדרגים את הספרייה לגרסה 1.1.0-alpha12.

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