Measure Management (Ring Only)
Function Overview
Measure management (supported by v4.5.0 and above), used to control various real-time measurements (heart rate, blood oxygen, pressure, blood pressure, body temperature, etc.) and one-click measurement functions of the device.
IDOMeasureManager
Methods
listenProcessMeasureData(callback:)
Listen for data during measurement (mainly for types that support real-time data return such as heart rate and blood oxygen).
- Parameters:
- callback: Measurement result callback IDOMeasureResult
startMeasure(type:completion:)
Start a specific type of measurement.
- Parameters:
- type: Measurement type IDOMeasureType
- completion: Callback for whether start was successful
stopMeasure(type:completion:)
Stop a specific type of measurement.
- Parameters:
- type: Measurement type IDOMeasureType
- completion: Callback for whether stop was successful
getMeasureData(type:completion:)
Get the current data of a specific type of measurement.
- Parameters:
- type: Measurement type IDOMeasureType
- completion: Measurement data callback IDOMeasureResult
Example
Swift (iOS)
// 1. Set listener (optional, used to get real-time data during measurement)
IDOMeasureManager.shared.listenProcessMeasureData { result in
if result.status == .measuringData {
print("Measuring data: \(result.value)")
}
}
// 2. Start measurement (taking heart rate as an example)
IDOMeasureManager.shared.startMeasure(type: .heartRate) { success in
print("Start heart rate measurement: \(success)")
}
// 3. Get measurement results
IDOMeasureManager.shared.getMeasureData(type: .heartRate) { result in
if result.status == .success {
print("Final measurement result: \(result.value)")
}
}
// 4. Stop measurement
IDOMeasureManager.shared.stopMeasure(type: .heartRate) { success in
print("Stop heart rate measurement: \(success)")
}
Kotlin (Android)
// 1. Set listener
IDOMeasureManager.shared.listenProcessMeasureData { result ->
if (result.status == IDOMeasureStatus.MEASURING_DATA) {
println("Measuring data: ${result.value}")
}
}
// 2. Start measurement
IDOMeasureManager.shared.startMeasure(IDOMeasureType.HEART_RATE) { success ->
println("Start heart rate measurement: $success")
}
// 3. Get measurement results
IDOMeasureManager.shared.getMeasureData(IDOMeasureType.HEART_RATE) { result ->
if (result.status == IDOMeasureStatus.SUCCESS) {
println("Final measurement result: ${result.value}")
}
}
// 4. Stop measurement
IDOMeasureManager.shared.stopMeasure(IDOMeasureType.HEART_RATE) { success ->
println("Stop heart rate measurement: $success")
}