开始使用
复制一个包含安装步骤和此插件的完整Markdown指南的设置提示。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-nfc`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/nfc/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
安装
安装您可以使用我们的AI辅助设置来安装插件。使用以下命令将Capgo技能添加到您的AI工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下提示:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-nfc` plugin in my project.如果您更喜欢手动设置,请运行以下命令并按照以下平台特定的说明进行安装:
bun add @capgo/capacitor-nfcbunx cap sync导入
导入import { CapacitorNfc } from '@capgo/capacitor-nfc';API 简介
标题:API 简介startScanning
标题:startScanning开始监听NFC标签。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.startScanning();stopScanning
标题:stopScanning停止当前的NFC扫描会话。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.stopScanning();write
标题:write将提供的NDEF记录写入最后发现的标签。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.write({} as WriteTagOptions);erase
Section titled “清除”尝试通过写入一个空的NDEF消息来清除最后发现的标签。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.erase();makeReadOnly
Section titled “设置只读”尝试将最后发现的标签设置为只读。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.makeReadOnly();share
Section titled “分享”通过对等连接(仅限Android)将NDEF消息共享给另一个设备。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.share({} as ShareTagOptions);unshare
Section titled “取消分享”停止共享之前提供的NDEF消息(仅限Android)。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.unshare();getStatus
Section titled “getStatus”返回当前 NFC 适配器状态。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.getStatus();showSettings
Section titled “showSettings”打开系统设置页面,用户可以在此处启用 NFC。
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.showSettings();isSupported
Section titled “isSupported”检查设备是否支持 NFC 硬件。
返回 true 如果设备上有 NFC 硬件,无论 NFC 是否当前启用或禁用,均返回 false 如果设备上没有 NFC 硬件,返回
使用此方法来确定是否在应用 UI 中显示 NFC 功能。要检查 NFC 是否当前启用,请使用 getStatus().
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.isSupported();类型参考
类型参考StartScanningOptions
开始扫描选项控制 . 的行为选项
export interface StartScanningOptions { /** * iOS-only: closes the NFC session automatically after the first successful tag read. * Defaults to `true`. */ invalidateAfterFirstRead?: boolean; /** * iOS-only: custom message displayed in the NFC system sheet while scanning. */ alertMessage?: string; /** * iOS-only: session type to use for NFC scanning. * - `'ndef'`: Uses NFCNDEFReaderSession (default). Only detects NDEF-formatted tags. * - `'tag'`: Uses NFCTagReaderSession. Detects both NDEF and non-NDEF tags (e.g., raw MIFARE tags). * Allows reading UID from unformatted tags. * **Requires** the `Near Field Communication Tag Reader Session Formats` entitlement * in your app with the `TAG` format included. Without it the session will fail to * start and the promise will reject with a `NO_NFC` error code. * Defaults to `'ndef'` for backward compatibility. */ iosSessionType?: 'ndef' | 'tag'; /** * Android-only: raw flags passed to `NfcAdapter.enableReaderMode`. * Defaults to enabling all tag types with skipping NDEF checks. */ androidReaderModeFlags?: number;}WriteTagOptions
写标签选项用于在当前标签上写入 NDEF 消息的选项。
export interface WriteTagOptions { /** * Array of records that compose the NDEF message to be written. */ records: NdefRecord[]; /** * When `true`, the plugin attempts to format NDEF-formattable tags before writing. * Defaults to `true`. */ allowFormat?: boolean;}ShareTagOptions
分享标签选项用于使用 Android Beam / P2P 模式与另一个设备共享 NDEF 消息的选项。
export interface ShareTagOptions { records: NdefRecord[];}NfcStatus
Nfc状态NFC适配器可能的状态
export type NfcStatus = 'NFC_OK' | 'NO_NFC' | 'NFC_DISABLED' | 'NDEF_PUSH_DISABLED';NfcEvent
Nfc事件通用NFC发现事件由插件派发
export interface NfcEvent { type: NfcEventType; tag: NfcTag;}NfcStateChangeEvent
Nfc状态变化事件NFC适配器可用性发生变化时触发
export interface NfcStateChangeEvent { status: NfcStatus; enabled: boolean;}NdefRecord
NDEF记录表示单个NDEF记录的JSON结构
export interface NdefRecord { /** * Type Name Format identifier. */ tnf: number; /** * Type field expressed as an array of byte values. */ type: number[]; /** * Record identifier expressed as an array of byte values. */ id: number[]; /** * Raw payload expressed as an array of byte values. */ payload: number[];}NfcEventType
NfcEventType描述 NFC 发现类型的事件类型。
export type NfcEventType = 'tag' | 'ndef' | 'ndef-mime' | 'ndef-formatable';NfcTag
NfcTag表示由本机层返回的完整标签信息的表示。
export interface NfcTag { /** * Raw identifier bytes for the tag. */ id?: number[]; /** * List of Android tech strings (e.g. `android.nfc.tech.Ndef`). */ techTypes?: string[]; /** * Human readable tag type when available (e.g. `NFC Forum Type 2`, `MIFARE Ultralight`). */ type?: string | null; /** * Maximum writable size in bytes for tags that expose NDEF information. */ maxSize?: number | null; /** * Indicates whether the tag can be written to. */ isWritable?: boolean | null; /** * Indicates whether the tag can be permanently locked. */ canMakeReadOnly?: boolean | null; /** * Array of NDEF records discovered on the tag. */ ndefMessage?: NdefRecord[] | null;}真实来源
本页面是由插件的重新同步公共__CAPGO_KEEP_0__时,重新运行上游。 src/definitions.ts. Re-run the sync when the public API changes upstream.
继续从 Getting Started
Event type describing the kind of NFC discovery that happened.如果您正在使用 开始使用 来规划仪表板和API操作,连接它与 使用@capgo/capacitor-nfc 为native能力在使用@capgo/capacitor-nfc API概述 为API概述的实现细节 介绍 为介绍的实现细节 API密钥 为API密钥的实现细节 设备 了解设备的实现细节。