从用户代理检测 ARKit 兼容设备

Detecting ARKit compatible device from user agent

我们想启用一项功能,允许使用深度 link 从网页查看我们的 ARKit 应用程序的模型。

有没有人发现使用用户代理字符串或任何其他基于浏览器的机制来发现设备是否兼容 ARKit 的方法?

谢谢!

Safari 不会为此公开任何所需的硬件信息。

如果您的网站已经有了配套的 iOS 应用程序,另一种选择可能是仍然为您的内容提供一些非 AR 体验,这样网站就可以 link在所有情况下。

例如,AR 家具目录现在似乎很流行。但是,如果设备不支持 ARKit,您仍然可以提供每个家具的 3D 模型 linked 从您的网站,让用户旋转它并使用触摸手势放大它而不是将它放在增强现实。

A​​pple 似乎使用以下代码来 show/hide "Visit this page on iOS 12 to try AR Quick Look" on https://developer.apple.com/arkit/gallery/

(function () {
    var isRelAR = false;
    var a = document.createElement('a');
    if (a.relList.supports('ar')) {
        isRelAR = true;
    }
    document.documentElement.classList.add(isRelAR ? 'relar' : 'no-relar');
})();

当然有趣的部分是

    var isRelAR = false;
    var a = document.createElement('a');
    if (a.relList.supports('ar')) {
        isRelAR = true;
    }

根据 isRelAR 的值做出相应的操作。