Skip to content

Download / Load / Scan

While running, Kivicube displays three kinds of status UI by default:

  • asset download
  • scene loading
  • recognition scanning

The host page can either keep the default UI or take over with properties and events.

Download Progress

Hide the Default Download UI

js
await kivicubeIframePlugin.openKivicubeScene(iframe, {
  sceneId,
  hideDownload: true,
});

Take Over Download Progress Yourself

js
iframe.addEventListener('downloadAssetProgress', (event) => {
  const progress = event.detail;
  updateProgressBar(progress);
});

Loading State

Hide the Default Loading UI

js
await kivicubeIframePlugin.openKivicubeScene(iframe, {
  sceneId,
  hideLoading: true,
});

Take Over Loading Yourself

js
iframe.addEventListener('loadSceneStart', () => {
  showLoading();
});

iframe.addEventListener('loadSceneEnd', () => {
  hideLoading();
});

Scanning State

In Image AR and Basic AR/Gyroscope scenes, the default scan UI is shown until a target is recognized.

Hide the Default Scan UI

js
await kivicubeIframePlugin.openKivicubeScene(iframe, {
  sceneId,
  hideScan: true,
});

Show Custom Scan Guidance from the Host Layer

js
iframe.addEventListener('loadSceneEnd', () => {
  showScanHint();
});

iframe.addEventListener('tracked', () => {
  hideScanHint();
});

iframe.addEventListener('lostTrack', () => {
  showScanHint();
});

Light Customization

  • keep the default download and loading UI
  • customize only the scan copy

Moderate Customization

  • hide download and loading UI
  • use your own host-layer progress bar and landing page content
  • keep scan-state visuals consistent with the host brand

Heavy Customization

  • hide all default flow UI
  • maintain a full host-layer state machine yourself
  • drive every phase with events

Notes

Once you hide the default UI, the host page takes responsibility for:

  • clearly telling users whether the app is downloading, loading, or waiting for recognition
  • preventing the page from feeling frozen
  • managing custom UI state correctly