capacitor-universal-rfid
v0.0.1
Published
A Capacitor Plugin to read Apple and Google Wallet NFC Cards and also regular Mifare Cards.
Maintainers
Readme
Capacitor Universal RFID Plugin
Dieses Plugin ermöglicht das Auslesen von NFC/RFID-Karten in einer Capacitor/Ionic-App auf Android.
Die Hauptlogik stammt aus kormax/android-universal-reader.
Dieses Repository stellt lediglich ein Capacitor-Plugin-Interface bereit.
Features
- Apple VAS (Apple Wallet) Karten lesen
- Google Smart Tap Karten lesen
- Flexible Konfiguration per JSON
- Events für Karten-Scan, Log und Fehler
Installation
npm install capacitor-universal-rfid
npx cap syncAndroid Setup
- Fügen Sie die erforderlichen Berechtigungen in Ihrer
AndroidManifest.xmlhinzu:
<uses-permission android:name="android.permission.NFC" />Usage Example
import { CapacitorUniversalRFIDPlugin } from 'capacitor-universal-rfid';
import type { CardScanResult } from 'capacitor-universal-rfid';
// Konfiguration als Objekt
const config = {
active: ['applevas', 'googlesmarttap-google'],
protocols: [
// ... siehe Beispiel ...
]
};
// Konfiguration setzen
await CapacitorUniversalRFID.setConfiguration({ configuration: JSON.stringify(config) });
// Reader starten
await CapacitorUniversalRFID.startReader();
// Listener für Karten-Scan
CapacitorUniversalRFID.addListener('onCardScan', (result: CardScanResult) => {
if (result.type === 'appleWallet') {
console.log('Apple Wallet:', result.passTypeIdentifier, result.status, result.payload);
} else if (result.type === 'googleSmartTap') {
if ('objectId' in result) {
console.log('Google Smart Tap Pass:', result.objectId, result.passType, result.message);
} else if ('customerId' in result) {
console.log('Google Smart Tap Customer:', result.customerId, result.language);
}
}
});
// Listener für Log-Events
CapacitorUniversalRFID.addListener('onLog', (event: LogEvent) => {
console.log('Log:', event.type, event.data);
});
// Listener für Fehler
CapacitorUniversalRFID.addListener('onError', (event: ErrorEvent) => {
console.error('Fehler:', event.error);
});Import und Initialisierung
import { CapacitorUniversalRFID } from 'capacitor-universal-rfid';Reader starten
await CapacitorUniversalRFID.startReader();Reader stoppen
await CapacitorUniversalRFID.stopReader();Konfiguration setzen
await CapacitorUniversalRFID.setConfigurations({
// Konfigurationsoptionen je nach Bedarf
});Events
Karten-Scan-Event abonnieren
CapacitorUniversalRFID.addListener('onCardScan', (result) => {
if (result.type === 'mifare') {
console.log('Mifare UID:', result.uid);
console.log('Daten:', result.data);
} else if (result.type === 'appleWallet') {
console.log('Apple Wallet Payload:', result.payload);
} else if (result.type === 'googleWallet') {
console.log('Google Wallet Objects:', result.objects);
}
});API
| Methode | Beschreibung |
|------------------------|----------------------------------------------|
| startReader() | Startet den NFC-Reader |
| stopReader() | Stoppt den NFC-Reader |
| setConfigurations() | Setzt Reader-Konfigurationen |
| addListener() | Abonniert das Karten-Scan-Event |
CardScanResult Typen
type CardScanResult =
| { type: 'mifare'; uid: string; data: string }
| { type: 'appleWallet'; payload: string | null }
| { type: 'googleWallet'; objects: string };Hinweise
- Die Hauptlogik des Plugins basiert auf der
kormax/android-universal-reader - Dieses Plugin ist nur für Android verfügbar und getestet.
- Für iOS gibt es derzeit keine Unterstützung, da Apple Wallet Karten auf iOS nicht über NFC ausgelesen werden können.
Lizenz
- Siehe Lizenz des Originalprojekts: kormax/android-universal-reader
- Dieses Plugin ist unter der MIT-Lizenz lizenziert.
