ข้อกำหนดข้อมูลเมตา

คู่มือนี้ใช้ได้กับ Health Connect เวอร์ชัน 1.1.0-alpha12

มีการเปลี่ยนแปลงข้อมูลเมตาใน Health Connect สำหรับ นักพัฒนาแอปที่เลือกอัปเกรดเป็นรุ่น 1.1.0-alpha12

ข้อมูลห้องสมุด

รหัสอาร์ติแฟกต์ของ Google Maven Android Gradle Plugin จะระบุไลบรารี Health Connect ที่คุณจะต้องอัปเกรด เพิ่มทรัพยากร Dependency ของ Health Connect SDK นี้ลงในไฟล์ build.gradle ระดับโมดูล

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

การเปลี่ยนแปลงข้อมูลเมตา

เราได้ทำการเปลี่ยนแปลงข้อมูลเมตา 2 รายการใน Health Connect Jetpack SDK ตั้งแต่เวอร์ชัน 1.1.0-alpha12 เพื่อให้มั่นใจว่าจะมีข้อมูลเมตาเพิ่มเติมที่เป็นประโยชน์ อยู่ในระบบนิเวศ

คุณต้องระบุรายละเอียดข้อมูลเมตาทุกครั้งที่สร้างออบเจ็กต์ประเภท Record()

คุณต้องระบุวิธีการบันทึก 1 ใน 4 วิธีต่อไปนี้ เมื่อเขียนข้อมูลไปยัง Health Connect

วิธีการบันทึก คำอธิบาย
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 ในส่วนที่ต้องใช้ข้อมูลโค้ดใหม่ เพื่อให้เป็นไปตามข้อกำหนดใหม่เกี่ยวกับข้อมูลเมตา ดูตัวอย่างได้ที่หน้าเขียนข้อมูล

วิธีการใหม่สำหรับข้อมูลเมตา

คุณไม่สามารถสร้างอินสแตนซ์ของข้อมูลเมตาได้โดยตรงอีกต่อไป ดังนั้นให้ใช้วิธีการของ Factory อย่างใดอย่างหนึ่งเพื่อรับอินสแตนซ์ใหม่ของข้อมูลเมตา แต่ละฟังก์ชันมีลายเซ็น 3 รูปแบบ ได้แก่

  • 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

ข้อมูลการทดสอบ

ใช้คลังทดสอบเพื่อจำลองค่าข้อมูลเมตาที่คาดไว้

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

ซึ่งจะจำลองลักษณะการทำงานของการติดตั้งใช้งาน Health Connect ซึ่งจะป้อนค่าเหล่านี้โดยอัตโนมัติในระหว่างการแทรกระเบียน

สำหรับไลบรารีการทดสอบ คุณต้องเพิ่มทรัพยากร Dependency ของ Health Connect SDK นี้ลงในไฟล์ build.gradle ระดับโมดูล

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

อัปเกรดไลบรารี

ขั้นตอนหลักๆ ที่คุณต้องดำเนินการมีดังนี้

  1. อัปเกรดไลบรารีเป็น 1.1.0-alpha12

  2. เมื่อสร้างไลบรารี ระบบจะแสดงข้อผิดพลาดในการคอมไพล์ในกรณีที่ต้องใช้ข้อมูลเมตาใหม่ ดังนั้นโปรดตรวจสอบว่าได้ใช้การเปลี่ยนแปลงข้อมูลเมตาที่จำเป็นทุกครั้งที่มีการสร้างออบเจ็กต์ประเภท Record() ซึ่งจะ เป็นการย้ายข้อมูลให้เสร็จสมบูรณ์