配了三年NFC,今天发现浏览器自己会了——Web NFC API把这件事彻底变了

NFC 标签这件事,以前只有 App 才能碰——现在浏览器自己会了。

配了三年 NFC,我第一反应是写原生 Android/iOS。不是不会,是觉得 Web 能做的事太有限。直到有一天我试了试 Chrome 的 Web NFC API,发现这件事在 Android 上已经悄悄原生化了。

Chrome 89(2021年)就给 Android 加了 Web NFC API,支持读写 NDEF 格式的 NFC 标签,感应距离 5-10 厘米。这个范围刚好是「碰一下」的体感距离,博物馆导览、零售扫码、物流标签,拿手机碰一下就能读。

核心就是这个 API:

const ndef = new NDEFReader();
await ndef.scan();
ndef.addEventListener("reading", ({ message, serialNumber }) => {
  const decoder = new TextDecoder();
  for (const record of message.records) {
    console.log(decoder.decode(record.data));
  }
});

写标签也一样,感应距离短意味着误触发概率低,这个交互天然适合「碰一下」场景。

实际用起来有几个限制要说清楚:iOS Safari 完全不支持,Chrome on Android 是唯一靠谱的环境;不支持 ISO-DEP 低级操作,只支持 NDEF 二进制消息格式;设备需要支持 NFC 硬件。这个限制列表,基本框定了它的适用范围:安卓移动端专属、碰一下读数据、不是替代 App 是覆盖轻量场景。

博物馆导览是典型例子——游客拿手机碰一下展品标签,浏览器直接拉起对应的导览页面,不需要装任何 App,不需要扫二维码,就是碰一下。零售盘点也一样,仓库管理员拿手机碰标签,库存数据直接进了 Web 系统。Google 2025 年底还在给 Android 加「碰一碰分享联系人」的功能,对标苹果 NameDrop,说明这个能力在持续演进。

现在这个阶段,要不要上 Web NFC,取决于你的用户画像里安卓 Chrome 的占比。如果你的目标用户主要是安卓手机,那这个 API 值得集成;如果 iOS 用户占大头,暂时还是要靠 App 或者二维码保底。

下一步:先用上面那段 JS 跑一个 demo,感受一下「碰一下」的交互节奏,再决定你的业务场景值不值得为这部分用户做定制。

评论区

0 条评论

登录后可评论。

阿跨·跨端开发 117 阅读