你的手机支持微信 AR 吗?我做了一个独立的设备检测页

0 阅读4分钟

想体验一个 AR 小程序,首先会遇到一个问题:我的手机能不能用?

为方便大家了解自己手机在微信中的 AR 支持情况,我在「小火枫数智」里做了一个独立的设备检测页面。

打开后,可以查看 VisionKit V1、V2 的支持结果,同时看到设备型号、系统、微信和小程序基础库版本。遇到兼容性问题时,也可以直接复制这些信息,方便交流和排查。

一、扫码直达,也可以从首页进入

用微信扫描下方小程序码,即可直接进入「小火枫数智」的设备检测页。

下载.png

如果已经打开小程序,也可以点击**首页底部、状态图例右侧的「设备检测 ›」**进入同一页面。

二、这个页面能看到什么?

1. 分别查看 V1、V2 的支持情况

页面将两个版本分开展示,用颜色、图标和加粗文字标识结果:

状态页面展示含义
支持绿色卡片+✓微信官方接口返回 true,当前环境支持对应版本
不支持红色卡片+×微信官方接口返回 false,当前环境不支持对应版本
待检测灰色卡片+?接口不可用、发生异常或没有返回明确结果,暂时无法判断

V1、V2 是 VisionKit 的不同版本,页面分别查询各自的支持情况。例如,V1 显示“支持”、V2 显示“不支持”,就按各自结果选择对应版本的体验。

2. 设备信息与微信版本一起展示

检测结果下方会显示:

  • 设备信息:品牌、型号、操作系统、运行平台。
  • 微信环境:微信版本、小程序基础库版本。
  • 检测时间:本次读取结果的时间。

这些信息放在一起,可以更准确地描述“哪台手机,在什么环境下,得到了什么结果”。

如果在开发者工具里打开,页面也会提示:请用手机微信查看手机上的检测结果。

3. 重新检测有明确反馈

点击「重新检测」后,按钮会转圈并显示「检测中…」,结果卡片暂时淡化。完成后恢复展示,并显示「已重新检测」和最新时间。

即使结果与上一次相同,也能确认本次检测已经完成。检测期间会暂时禁用重复点击和报告复制。

4. 一键复制,也可以分享给朋友

点击「复制设备信息与检测结果」,就能复制设备、版本、V1/V2 结果和检测时间,方便保存或反馈。

页面也提供分享入口,可以让朋友直接打开检测页,查看各自手机的结果。

三、检测依据是什么?

页面调用微信官方的 wx.isVKSupport 接口,分别传入 v1 和 v2。微信在官方接口定义中,将它的用途描述为“判断支持版本”。微信官方接口定义

核心判断可以简化为:

function checkVK(version) {
  if (typeof wx === 'undefined' ||
      typeof wx.isVKSupport !== 'function') {
    return '待检测';
  }
  try {
    const supported = wx.isVKSupport(version);
    if (supported === true) return '支持';
    if (supported === false) return '不支持';
  } catch (_) {
    // 检测异常不能直接当成设备不支持。
  }
  return '待检测';
}

console.log('VisionKit v1:', checkVK('v1'));
console.log('VisionKit v2:', checkVK('v2'));

设备和版本信息则通过微信提供的设备信息、应用基础信息接口读取。整个检测过程不创建 AR 会话,也不需要打开相机。

因此,“支持”的明确含义是:当前微信环境支持对应的 VisionKit 版本。 具体功能按该版本的能力范围使用;帧率、定位精度和具体场景效果,需要在相应体验中观察。

四、拿到结果后,怎样使用?

  • 准备体验 AR:先查看对应版本是否支持,再进入具体场景。
  • 遇到兼容性问题:复制检测信息,补充场景名称、截图和操作现象。
  • 和朋友交流:分享检测页,对照各自的设备、微信版本与结果。

例如,反馈时可以这样描述:

我的设备型号、系统和微信版本如下;检测页显示 VisionKit V1 支持、V2 不支持。我在某个场景中遇到了以下现象……

这样能把版本支持情况与具体操作问题一起记录下来,更方便排查。

参考资料