English
Appearance
English
Appearance
When integrating Kivicube on the Web, the three permission areas that matter most are:
When the plugin opens the iframe, it automatically writes a set of allow capabilities including:
xr-spatial-trackingcameramicrophoneautoplayfullscreengyroscopeaccelerometerSo in most cases you do not need to build that string manually. Just make sure you do not overwrite it.
The plugin emits an error event with a marked payload:
iframe.addEventListener('error', (event) => {
if (event.detail?.isUserDeniedCamera) {
showCameraPermissionGuide();
}
});If the current browser cannot open the camera at all, you may also receive an incompatibility event.
This mainly affects scenes that enable the gyroscope.
iframe.addEventListener('error', (event) => {
if (event.detail?.isUserDeniedGyroscope) {
showGyroscopeGuide();
}
});Collections support:
hideGyroscopePermission: trueThis hides the default gyroscope permission prompt, which is useful on devices where that feature is no longer needed, such as iOS.
Even if camera permission is granted, video and audio playback can still be limited by browser autoplay policies.
The most common triggers are:
errorincompatibilityiframe.addEventListener('error', (event) => {
const detail = event.detail || {};
if (detail.isUserDeniedCamera) {
showToast('Please allow camera access and try again.');
return;
}
if (detail.isUserDeniedGyroscope) {
showToast('Please allow motion and orientation access and try again.');
return;
}
showToast(detail.message || 'The experience is temporarily unavailable.');
});
iframe.addEventListener('incompatibility', () => {
showUnsupportedDialog();
});