The VTO module provides several callbacks which correspond to changes of state of the module. All the callbacks are listed in the API Reference > Callbacks.
In order to adapt the user experience you want to provide, find the appropriate callback and pass on the callback function you want to invoke (see related How-to guide).
Two main callbacks can be listened to adapt the user experience to the state of the VTO module: `onIssue` and `onLiveStatus`.
onIssue
The `onIssue` callback is triggered whenever an issue happens, impairing the user experience. Here is a list of tracked issues and their interpretation:
cameraAccessDenied | VTO is denied access to the camera |
detectionFailed | User has not been detected in the last detection attempt |
frameNotFound | Requested frame is not available for VTO (see corresponding How-to guide to prevent this issue) |
highLatency | VTO has pending requests with abnormally long latency |
licenseNotFound | License is not valid |
liveIncompatibleBrowser | Browser is not compatible with a Live experience (see Compatibility) |
liveIncompatibleOS | OS is on a deprecated version and needs to be updated (see Compatibility) |
noCameraFound | VTO does not find cameras from `getUserMedia` API |
poseInvalid | User is detected but in an invalid position (not sufficiently centered and facing the camera) |
protocolFailed | User detection failed after too many attemps, leading to a failure of the starting protocol |
removalLowPerformances | Performances of the device are too low to enable Frame Removal experience |
serverNotResponding | A server has not responded for one of the VTO's necessary request |
trackingLost | Tracking of the user has been temporarily lost |
onLiveStatus
The `onLiveStatus` callback is triggered on various state changes of the Live experience:
faceTracking | True while the face of the user is tracked in the camera stream |
glassesReady | True when the frame is ready to be displayed (which still requires that the user is properly detected and tracked to complete the VTO) |
hasStream | True while the camera stream is captured |
removalActive | True while the Frame Removal mask is applied |
userHasGlasses | True while a digital frame is virtually tried-on by the user |