Einstieg
Kopieren Sie eine Einrichtungsanfrage mit den Installationsanweisungen und der vollständigen Markdown-Guideline 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
Abschnitt mit dem Titel „Installieren“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”Hört auf NFC-Tags ab.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.startScanning();stopScanning
Abschnitt mit dem Titel “stopScanning”Beendet die laufende NFC-Scansitzung.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.stopScanning();Schreibt die bereitgestellten NDEF-Records auf den letzten entdeckten Tag.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.write({} as WriteTagOptions);Versucht, den letzten entdeckten Tag durch das Schreiben eines leeren NDEF-Nachrichts zu löschen.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.erase();makeReadOnly
Abschnitt mit dem Titel ‘makeReadOnly’Versucht, den letzten entdeckten Tag als lesenden 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 zuvor bereitgestellten NDEF-Nachricht (nur 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-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.
Rückgabewert true Wenn NFC-Hardware auf dem Gerät vorhanden ist, unabhängig davon, ob NFC derzeit aktiviert oder deaktiviert ist. 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();Typenverweis
Abschnitt mit dem Titel ‘Typenverweis’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-Messages 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 eines NDEF-Messages an einen anderen Gerät mit 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 von . zurückgegeben werden
export type NfcStatus = 'NFC_OK' | 'NO_NFC' | 'NFC_DISABLED' | 'NDEF_PUSH_DISABLED';Ein generischer NFC-Erkennungsevent, das vom Plugin ausgelöst wird.
export interface NfcEvent { type: NfcEventType; tag: NfcTag;}NfcStateChangeEvent
Abschnitt mit dem Titel “NfcStateChangeEvent”Ein Ereignis wird ausgelöst, wenn sich die Verfügbarkeit des NFC-Adapters ändert.
export interface NfcStateChangeEvent { status: NfcStatus; enabled: boolean;}NdefRecord
Abschnitt mit dem Titel “NdefRecord”Ein 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”Ein 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 wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisation, wenn die öffentliche API upstream geändert wird.
Weitermachen von Getting Started
Abschnitt mit dem Titel “Weitermachen von Getting Started”Wenn Sie " Getting Started zum Planen von Dashboard und API-Operationen verwenden, 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.