跳过内容

开始使用

GitHub

安装

安装

您可以使用我们的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-nfc
bunx cap sync

导入

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

API 简介

API 简介

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({} as WriteTagOptions);

尝试通过写入一个空的NDEF消息来擦除最后发现的标签。

import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.erase();

尝试使最后发现的标签只读。

import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.makeReadOnly();

通过对等连接(仅限Android)将NDEF消息共享给另一个设备。

import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.share({} as ShareTagOptions);

停止共享之前提供的NDEF消息(仅限Android)。

import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.unshare();

getStatus

getStatus

获取当前NFC适配器状态。

import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.getStatus();

showSettings

showSettings

打开系统设置页面,用户可以在此处启用NFC。

import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.showSettings();

isSupported

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

NFC标签信息

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.

继续从开始

继续从开始

如果您正在使用 开始使用 来规划仪表板和API操作,连接它与 使用@capgo/capacitor-nfc 为native能力在使用@capgo/capacitor-nfc API概述 为API概述的实现细节 介绍 为介绍的实现细节 API密钥 为API密钥的实现细节,并且 设备 了解设备的实现细节。