Lompat ke Konten

Mulai Berlatih

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

Mendengarkan tag NFC.

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

Menghentikan sesi pemindaian NFC yang sedang berlangsung.

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

Menulis rekaman NDEF yang disediakan ke tag terakhir yang ditemukan.

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

Mencoba menghapus tag terakhir yang ditemukan dengan menulis pesan NDEF kosong.

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

Mencoba membuat tag terakhir yang ditemukan menjadi tidak dapat ditulis.

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

Membagikan pesan NDEF dengan perangkat lain melalui peer-to-peer (hanya Android).

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

Membatalkan pembagian pesan NDEF sebelumnya (hanya Android).

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

Mengembalikan status adapter NFC saat ini.

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

Membuka halaman pengaturan sistem di mana pengguna dapat mengaktifkan NFC.

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

Mengecek apakah perangkat memiliki dukungan perangkat keras NFC.

Mengembalikan true Jika perangkat memiliki perangkat keras NFC, terlepas dari apakah NFC saat ini diaktifkan atau dinonaktifkan. Mengembalikan false Jika perangkat tidak memiliki perangkat keras NFC.

Gunakan metode ini untuk menentukan apakah fitur NFC harus ditampilkan di antarmuka pengguna aplikasi Anda. Untuk mengecek apakah NFC saat ini diaktifkan, gunakan getStatus().

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

Opsi yang mengontrol perilaku dari .

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

Opsi yang digunakan ketika menulis pesan NDEF pada tag saat ini.

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

Opsi yang digunakan ketika berbagi pesan NDEF dengan perangkat lain menggunakan Android Beam / P2P mode.

export interface ShareTagOptions {
records: NdefRecord[];
}

Status adapter NFC yang mungkin dikembalikan oleh .

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

Event penemuan NFC umum yang dipancarkan oleh plugin.

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

Event yang dikeluarkan setiap kali ketersediaan adapter NFC berubah.

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

Struktur JSON yang mewakili rekaman NDEF tunggal.

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

Tipe event yang menjelaskan jenis penemuan NFC yang terjadi.

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

Representasi informasi tag penuh yang dikembalikan oleh layer native.

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

Halaman ini dihasilkan dari plugin’s src/definitions.ts. Re-run sinkronisasi ketika publik API berubah di atas

Jika Anda menggunakan Getting Started untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/capacitor-nfc untuk kemampuan asli di Menggunakan @capgo/capacitor-nfc, API Ringkasan untuk detail implementasi di API Ringkasan, Pendahuluan untuk detail implementasi di Pendahuluan, API Kunci untuk detail implementasi di API Kunci, dan Perangkat untuk detail implementasi di Perangkat.