Zum Inhalt springen

Getting Started

GitHub

Sie können unser AI-gestütztes Setup verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem AI-Tool hinzu, indem Sie folgenden Befehl ausführen:

Terminal-Fenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Dann verwenden Sie den folgenden Prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-nfc` plugin in my project.

Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten angegebenen plattform-spezifischen Anweisungen:

Terminal-Fenster
bun add @capgo/capacitor-nfc
bunx cap sync
import { CapacitorNfc } from '@capgo/capacitor-nfc';

NFC-Tags abhören.

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

Die laufende NFC-Scannsession wird beendet.

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

Die bereitgestellten NDEF-Records werden an die letzte entdeckte Tag geschrieben.

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

Der letzte entdeckte Tag wird durch das Schreiben eines leeren NDEF-Nachrichts versucht zu löschen.

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

Der letzte entdeckte Tag wird versucht, als lesbar zu machen.

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

Teilt ein NDEF-Nachricht mit einem anderen Gerät über Peer-to-Peer (nur Android).

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

Beendet das Teilen einer vorher bereitgestellten NDEF-Nachricht (nur Android).

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

Gibt den aktuellen NFC-Adapter-Status zurück.

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

Öffnet die Systemeinstellungen-Seite, auf der der Benutzer NFC aktivieren kann.

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

Überprüft, ob das Gerät NFC-Hardware unterstützt.

Gibt zurück true wenn NFC-Hardware auf dem Gerät vorhanden ist, unabhängig davon, ob NFC derzeit aktiviert oder deaktiviert ist. Gibt zurück false wenn das Gerät keine NFC-Hardware besitzt.

Verwenden Sie diese Methode, um zu bestimmen, ob NFC-Funktionen in der Benutzeroberfläche Ihrer App angezeigt werden sollten. Um zu überprüfen, ob NFC derzeit aktiviert ist, verwenden Sie getStatus().

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

Optionen, die das Verhalten von . steuern.

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;
}

Optionen, die bei der Schreibweise eines NDEF-Nachrichten auf dem aktuellen Tag verwendet werden.

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;
}

Optionen, die bei der Weitergabe einer NDEF-Nachricht an ein anderes Gerät unter Verwendung von Android Beam / P2P-Modus verwendet werden.

export interface ShareTagOptions {
records: NdefRecord[];
}

Mögliche Zustände des NFC-Adapters, die durch . zurückgegeben werden.

export type NfcStatus = 'NFC_OK' | 'NO_NFC' | 'NFC_DISABLED' | 'NDEF_PUSH_DISABLED';

Ein generischer NFC-Entdeckungsereignis, das vom Plugin abgesendet wird.

export interface NfcEvent {
type: NfcEventType;
tag: NfcTag;
}

Ereignis, das ausgelöst wird, wenn sich die Verfügbarkeit des NFC-Adapters ändert.

export interface NfcStateChangeEvent {
status: NfcStatus;
enabled: boolean;
}

JSON-Struktur, die ein einzelnes NDEF-Record darstellt.

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[];
}

Ereignistyp, der die Art der NFC-Erkennung beschreibt, die stattgefunden hat.

export type NfcEventType = 'tag' | 'ndef' | 'ndef-mime' | 'ndef-formatable';

Darstellung der vollständigen Tag-Informationen, die von den native Layers zurückgegeben werden.

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;
}

Diese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisation, wenn die öffentliche API upstream ändert.

Wenn Sie es verwenden Getting Started um das Dashboard und API-Operationen zu planen, verbinden Sie es mit Mit @capgo/capacitor-nfc für die native Fähigkeit in Mit @capgo/capacitor-nfc, API Übersicht für die Implementierungsdetails in API Übersicht, Einführung für die Implementierungsdetails in Einführung, API Schlüssel für die Implementierungsdetails in API Schlüssel, und Geräte für die Implementierungsdetails in Geräte.