Einstieg
Kopieren Sie eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
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
Sektion mit dem Titel “Installieren”Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten Ihrem AI-Tool hinzu, indem Sie den folgenden Befehl verwenden:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsDann verwenden Sie den folgenden Vorschlag:
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 den unten angegebenen Plattform-spezifischen Anweisungen folgen:
bun add @capgo/capacitor-nfcbunx cap syncImportieren
Sektion mit dem Titel “Importieren”import { CapacitorNfc } from '@capgo/capacitor-nfc';API Übersicht
Überschrift „API Übersicht”startScanning
Überschrift „startScanning”NFC-Tags abhören.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.startScanning();stopScanning
Überschrift „stopScanning”Die laufende NFC-Scansitzung beendet.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.stopScanning();write
Überschrift „write”Die bereitgestellten NDEF-Records auf dem letzten entdeckten Tag schreibt.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.write({} as WriteTagOptions);Versucht, das letzte entdeckte Tag durch das Schreiben eines leeren NDEF-Messages zu löschen.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.erase();Versucht, das letzte entdeckte Tag als Leser-only zu markieren.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.makeReadOnly();Teilt ein NDEF-Messages mit einem anderen Gerät über Peer-to-Peer (nur für Android).
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.share({} as ShareTagOptions);Beendet die vorherige Bereitstellung des NDEF-Messages (nur für Android).
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.unshare();getStatus
Abschnitt mit dem Titel “getStatus”Gibt den aktuellen Status des NFC-Adapter zurück.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.getStatus();showSettings
Abschnitt mit dem Titel “showSettings”Öffnet die Systemeinstellungen, in denen 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 verwendet werden, wenn ein NDEF-Befehl auf dem aktuellen Tag geschrieben wird.
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 verwendet werden, wenn ein NDEF-Befehl mit einem anderen Gerät über Android Beam / P2P-Modus geteilt wird.
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 ausgelöst wird
export interface NfcEvent { type: NfcEventType; tag: NfcTag;}NfcStateChangeEvent
Abschnitt mit dem Titel “NfcStateChangeEvent”Ereignis, das ausgelöst wird, wenn sich der Zustand der NFC-Adapter verändert
export interface NfcStateChangeEvent { status: NfcStatus; enabled: boolean;}NdefRecord
Abschnitt mit dem Titel “NdefRecord”JSON-Struktur, die einen einzelnen 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 Taginformationen, 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 wurde von dem Plugin generiert. src/definitions.tsRe-run die Synchronisation, wenn die öffentliche API upstream geändert wurde.
Weitergehen von Getting Started
Abschnitt mit dem Titel “Weitergehen von Getting Started”Wenn Sie Einstieg um das Dashboard und die 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äten.