跳转至正文
@capgo/capacitor-nfc 设备 API 开源

NFC Capacitor 插件

为 iOS 和 Android 上的 Capacitor 应用提供原生 NFC 标签发现、读取和写入功能

安装

bun add @capgo/capacitor-nfc bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-nfc
  • pnpm add @capgo/capacitor-nfc
  • yarn add @capgo/capacitor-nfc

指南

如何在 Capacitor 中使用 NFC

在设备上测试

下载 Capgo App,然后扫描二维码 code。

NFC 插件预览二维码 code

使用 @capgo/capacitor-nfc

Capacitor NFC 插件的公开 API 界面。

安装

bun add @capgo/capacitor-nfc
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { CapacitorNfc } from '@capgo/capacitor-nfc';

API 概览

方法 描述
startScanning 开始监听 NFC 标签。
stopScanning 停止正在进行的 NFC 扫描会话。
write 将提供的 NDEF 记录写入最近发现的标签。
erase 尝试通过写入空 NDEF 消息擦除最近发现的标签。
makeReadOnly 尝试将最近发现的标签设为只读。
share 通过点对点方式与另一台设备共享 NDEF 消息(仅限 Android)。
unshare 停止共享之前提供的 NDEF 消息(仅限 Android)。
getStatus 返回当前 NFC 适配器状态。
showSettings 打开系统设置页面,用户可以在其中启用 NFC。
isSupported 检查设备是否支持 NFC 硬件。

示例

startScanning()

开始监听 NFC 标签。

import { CapacitorNfc } from '@capgo/capacitor-nfc';

await CapacitorNfc.startScanning();

stopScanning()

停止正在进行的 NFC 扫描会话。

import { CapacitorNfc } from '@capgo/capacitor-nfc';

await CapacitorNfc.stopScanning();

write()

将提供的 NDEF 记录写入最近发现的标签。

import { CapacitorNfc } from '@capgo/capacitor-nfc';

await CapacitorNfc.write({
  records: [
    {
      tnf: 1,
      type: [1],
      id: [1],
      payload: [1],
    },
  ],
});

erase()

尝试通过写入空 NDEF 消息擦除最近发现的标签。

import { CapacitorNfc } from '@capgo/capacitor-nfc';

await CapacitorNfc.erase();

makeReadOnly()

尝试将最近发现的标签设为只读。

import { CapacitorNfc } from '@capgo/capacitor-nfc';

await CapacitorNfc.makeReadOnly();

share()

通过点对点方式与另一台设备共享 NDEF 消息(仅限 Android)。

import { CapacitorNfc } from '@capgo/capacitor-nfc';

await CapacitorNfc.share({
  records: [
    {
      tnf: 1,
      type: [1],
      id: [1],
      payload: [1],
    },
  ],
});

上表列出了 10 个核心方法。监听器、版本辅助函数以及每个方法的完整接口定义,请参阅 GitHub 仓库.

监听事件

addListener 会返回一个句柄。调用 handle.remove() 当屏幕卸载时。

完整参考文档

继续阅读 使用 @capgo/capacitor-nfc

如果你正在使用 使用 @capgo/capacitor-nfc 要规划 dashboard 和 API 操作,请将其连接到 @capgo/capacitor-nfc 了解 @capgo/capacitor-nfc 中的实现细节, 快速入门 有关“入门指南”中的实现细节, API 概览 关于 API Overview 中的实现细节, 简介 关于简介中的实现细节,以及 API 密钥 关于 API Keys 中的实现细节。

常见问题

NFC 插件常见问题

如何在 Capacitor 应用中安装 NFC 插件?

运行 "bun add @capgo/capacitor-nfc"(或 "npm install @capgo/capacitor-nfc"),然后运行 "bunx cap sync",使 iOS 和 Android 项目同步原生 code。最后在你的应用 code 中从 "@capgo/capacitor-nfc" 导入即可。

@capgo/capacitor-nfc 是否支持 React、Vue 和 Angular?

支持。NFC 是一个 Capacitor 包,因此它可以在任何运行于 Capacitor 之上的 Web 框架中使用,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-nfc 支持哪个 Capacitor 版本?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-nfc 是免费开源的吗?

是的。code 的源码已在 GitHub 上公开,地址是 https://github.com/Cap-go/capacitor-nfc/,也可以从 npm 免费安装。欢迎提交 Bug 报告和 Pull Request。

我可以在不经过 App Store 审核的情况下,更新使用 NFC 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待应用审核即可发布 NFC 更新

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo