Getting Started
Einen Setup-Befehl mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
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“You können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihre AI-Werkzeug hinzufügen, indem Sie den folgenden Befehl ausführen:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsDann verwenden Sie die folgende Anfrage:
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”Beginnt das Abhören von NFC-Tags.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.startScanning();stopScanning
Abschnitt mit dem Titel “stopScanning”Beendet die laufende NFC-Scannsession.
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 lesend zu machen.
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.makeReadOnly();Teilt ein NDEF-Nachrichten-Paar mit einem anderen Gerät über Peer-to-Peer (nur Android).
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.share({} as ShareTagOptions);Beendet die vorherige Bereitstellung der NDEF-Nachricht (nur Android).
import { CapacitorNfc } from '@capgo/capacitor-nfc';
await CapacitorNfc.unshare();getStatus
Abschnitt mit dem Titel „getStatus“Gibt den aktuellen NFC-Adapter-Status 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. Rückgabewert false wenn das Gerät keine NFC-Hardware hat.
Verwenden Sie diese Methode, um zu bestimmen, ob NFC-Funktionen in der UI 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 “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 “SchreibenTagOptions”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 “TeilenTagOptions”Optionen, die bei der Weitergabe einer NDEF-Nachricht an einen anderen Gerät über 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';Generischer NFC-Erkundungsereignis, 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 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-Erkundung 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 um das Dashboard und API-Operationen zu planen und es mit Mit @capgo/capacitor-nfc zu verbinden 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.