简体中文
主题
简体中文
主题
云识别合辑对应 cloud-ar 类型。
相比单个云识别场景,云识别合辑的核心特点是:
CollectionApi,再有当前场景级 SceneApitracked / lostTrack因此云识别合辑比图像 AR 合辑更适合:
云识别合辑常见流程通常是:
ready,拿到 collectionInfo 和 CollectionApisceneReady因此它比单个场景多了一层“合辑容器 + 场景切换”的概念。
宿主层通常至少会关心下面这些事件:
readysceneReadysceneDestroydownloadAssetProgressloadSceneEndsceneStarterrorincompatibility当前打开的云识别场景不会再有识别扫描逻辑,相当于合辑中的云识别场景,都默认跳过扫描。
云识别合辑最值得用到的几组方法是:
await api.startCloudar();
await api.stopCloudar();
await api.backToScan();
await api.openScene(sceneId);
await api.closeCurrentScene();startCloudar() 主动开始云识别扫描。
适合:
stopCloudar() 主动停止扫描。
适合:
backToScan() 从当前已打开场景返回到扫描状态。
适合:
适合快速接入。
宿主层主要监听:
readysceneReadysceneStarterrorincompatibility例如:
iframe.addEventListener('ready', (event) => {
const api = event.detail.api;
startButton.addEventListener('click', async () => {
await api.startCloudar();
});
});这种方式适合把默认流程与宿主页面品牌化 UI 结合起来。
backButton.addEventListener('click', async () => {
await collectionApi.backToScan();
});适合“识别一个目标 -> 浏览内容 -> 返回继续识别”的体验。
云识别场景如果开启陀螺仪,会增加授权和兼容性复杂度。
对云识别合辑来说,这个问题通常更明显,因为:
因此对 Web iframe 接入而言,仍然建议优先关闭陀螺仪依赖。
一个比较稳妥的宿主层组织方式通常是:
ready 时保存 CollectionApi 和 collectionInfosceneReady 时更新当前场景信息和 SceneApibackToScan() 或 openScene(sceneId)示例:
let collectionApi = null;
let sceneApi = null;
iframe.addEventListener('ready', (event) => {
collectionApi = event.detail.api;
});
iframe.addEventListener('sceneReady', (event) => {
sceneApi = event.detail.api;
});CollectionApi,不要混用到 SceneApi 上。sceneReady 之后再获取当前场景的 SceneApi,并在切场景后更新引用。startCloudar(collectionId, sceneList) 中传入子集场景列表。error 和 incompatibility 做宿主层兜底,尤其是摄像头和兼容性失败。