Getting Started
Einen Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin erstellen.
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.
Installieren
Abschnitt mit dem Titel „Installieren“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:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsDann 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:
bun add @capgo/capacitor-nfcbunx cap syncImportieren
Abschnitt mit dem Titel „Importieren“import { CapacitorNfc } from '@capgo/capacitor-nfc';API Übersicht
Abschnitt mit dem Titel „API Übersicht“startScanning
Abschnitt mit dem Titel „startScanning“NFC-Tags abhören.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.startScanning();stopScanning
Abschnitt mit dem Titel “stopScanning”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();makeReadOnly
Abschnitt mit dem Titel “makeReadOnly”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();showSettings
Abschnitt mit dem Titel ‘Einstellungen anzeigen’Öffnet die Systemeinstellungen-Seite, auf der der Benutzer NFC aktivieren kann.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.showSettings();isSupported
Abschnitt mit dem Titel „isSupported“Ü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();Typenreferenz
Abschnitt mit dem Titel „Typenreferenz“StartScanningOptions
Abschnitt mit dem Titel „StartScanningOptions“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;}WriteTagOptions
Abschnitt mit dem Titel „WriteTagOptions“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;}ShareTagOptions
Abschnitt mit dem Titel „ShareTagOptions“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[];}NfcStatus
Abschnitt mit dem Titel „NfcStatus“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;}NfcStateChangeEvent
Abschnitt mit dem Titel “NfcStateChangeEvent”Ereignis, das ausgelöst wird, wenn sich die Verfügbarkeit des NFC-Adapters ändert.
export interface NfcStateChangeEvent { status: NfcStatus; enabled: boolean;}NdefRecord
Abschnitt mit dem Titel “NdefRecord”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[];}NfcEventType
Abschnitt mit dem Titel “NfcEventType”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;}Quelle der Wahrheit
Abschnitt mit dem Titel „Quelle der Wahrheit“Diese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisation, wenn die öffentliche API upstream ändert.
Weitergehen von Getting Started
Abschnitt mit dem Titel „Weitergehen von Getting Started“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.