⚡
Events
During a measurement, the SDK emits events to inform the application of the progress of the PPG measurement. Events will only be emitted after a measurement is started using the
startMeasurement
SDK Method.
Overview of relevant SDK events during a measurement
The following code examples demonstrate how to listen for events on each platform. The examples feature the
onFingerDetected
events. Subscribing to other events is similar.Flutter
React Native
Cordova
iOS
Android
FibriCheckView(
...
onFingerDetected: () => { ...your code here...},
...
),
<RNFibriCheckView
...
onFingerDetected={() => ...your code here...}
...
/>
const { FibriCheckCordovaSDK: fc } = cordova.plugins;
fc.onFingerDetected(() => {
/** Your Code Here **/
});
import FibriCheckCameraSDK
func handleFingerDetected() -> Void {
// Your Code Here
}
fc.onFingerDetected = handleFingerDetected
import com.qompium.fibricheck_camera_sdk.FibriCheck;
ViewGroup viewGroup = binding.getRoot();
fibriChecker = new FibriChecker.FibriBuilder(viewGroup.getContext(), viewGroup).build();
fibriChecker.setFibriListener(new FibriListener() {
@Override public void onFingerDetected() {
Log.i(TAG, "Callback: onFingerDetected");
}
});
Description | The user's finger is correctly placed on the smartphone camera. |
Frequency | Can be emitted multiple times if a user moves their finger. |
When | Before measurement, during measurement, after measurement |
Data | / |
Description | The user's finger is no longer present on the camera.
When the finger is removed, the measurement is paused until the finger is detected again. |
Frequency | Can be emitted multiple times if a user moves their finger placement on the camera. Happens after a onFingerDetected event. |
When | Before measurement, during measurement, after measurement |
Data | y[number] - Luminance
v[number] - Red chrominance
stdDevY[number] - Luminance standard deviation |
Description | The user's finger has not been detected within the set time. This event is disabled by default. |
Frequency | Once per measurement |
When | Before measurement |
Data | / |
Description | Emitted when a pulse has been detected. The pulse detection is only active after the finger detection has been completed. |
Frequency | Once per measurement |
When | Before the measurement |
Data | / |
Description | Emitted when no pulse has been detected after 10 seconds. |
Frequency | once per measurement |
When | Before the measurement |
Data | / |
Description | When performing a measurement, a baseline needs to be calculated. When this baseline has been calculated, the calibration is ready and the SDK will emit this event. |
Frequency | Once per measurement |
When | Before measurement |
Data | / |
Description | Emitted when the PPG measurement has successfully started started. |
Frequency | Once per measurement |
When | Before the measurement |
Data | / |
Description | Emitted when a heartbeat is detected. Returns the heart rate as a number. |
Frequency | Multiple times per measurement, emitted on every change in heart rate |
When | During the measurement |
Data | heartrate[number] |
Description | Emitted every time when a PPG signal has been successfully extracted from a camera image. It can be used to draw a graph or analyse the data during the measurement. |
Frequency | Multiple times per measurement, typically around 30 times per second during the measurement. |
When | Before and during the measurement. |
Data | ppg[number] - filtered PPG value
raw[number] - raw PPG value
Use the ppg value when you want to visualise a chart to the user |
When acting on this event it's important to measure the performance of the application while measuring. Especially in cross-platform environments (Flutter, React Native, Cordova) it's possible that the bridging layer is not fast enough to handle the amount of data that this event generates.
Description | Emitted when the SDK detects movement of the phone.
Depends on the value of movementDetectionEnabled , which is true by default |
Frequency | Multiple times per measurement |
When | During the measurement |
Data | / |
Description | Emitted to update the application on the time remaining in seconds for the measurement to complete. |
Frequency | Every second during the measurement |
When | During the measurement |
Data | timeRemaining[number] |
Description | Emitted when the measurement has finished. After this event, the SDK starts processing the measurement. |
Frequency | Once |
When | After the measurement |
Data | |
Description | Emitted when a measurement error occurs. The measurement wil stop.
Possible errors:
BROKEN_ACC_SENSOR - Can happen on iOS devices, ask the user to reboot the device if this happens. |
Frequency | Once |
When | During the measurement |
Data | Error[string] |
Description | Emitted when the measurement has been processed. The output of this event should be forwarded to the FibriCheck Cloud for further analysis by the FibriCheck Algorithm. |
Frequency | Once |
When | After the measurement |
Data |
Last modified 19d ago