@phermange/datalogic-sdk-bridge
Version:
React Native bridge for Datalogic SDK - Barcode scanner integration for Expo apps
115 lines (83 loc) • 2.72 kB
Markdown
# @pierr/datalogic-sdk-bridge
React Native bridge pour le SDK Datalogic - Intégration de scanner de codes-barres pour les applications Expo.
## Installation
```bash
npm install @phermange/datalogic-sdk-bridge
```
## Utilisation
### Import du module
```typescript
import { BarcodeManager } from "@phermange/datalogic-sdk-bridge";
```
### Écoute des événements de scan
```typescript
import { useEffect, useState } from "react";
import { BarcodeManager } from "@phermange/datalogic-sdk-bridge";
export default function ScannerComponent() {
const [lastScannedCode, setLastScannedCode] = useState<string>("");
useEffect(() => {
try {
// Ajouter l'écouteur d'événements
const subscription = BarcodeManager.addListener(
"onBarcodeRead",
(event) => {
console.log("Code-barres scanné:", event.data);
console.log("Timestamp:", event.timestamp);
setLastScannedCode(event.data);
}
);
// Démarrer l'écoute du scanner
BarcodeManager.addReadListener();
// Cleanup lors du démontage du composant
return () => {
subscription.remove();
BarcodeManager.removeReadListener();
};
} catch (error) {
console.error("Erreur lors de l'initialisation du scanner:", error);
}
}, []);
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
<Text style={{ fontSize: 18, marginBottom: 20 }}>Scanner Datalogic</Text>
{lastScannedCode ? (
<Text style={{ fontSize: 16, color: "green" }}>
Dernier scan: {lastScannedCode}
</Text>
) : (
<Text style={{ fontSize: 16, color: "gray" }}>
En attente d'un scan...
</Text>
)}
</View>
);
}
```
## API
### BarcodeManager
#### `addReadListener()`
Démarre l'écoute du scanner Datalogic.
#### `removeReadListener()`
Arrête l'écoute du scanner Datalogic.
#### `addListener(eventName, listener)`
Ajoute un écouteur d'événements pour les scans de codes-barres.
**Paramètres:**
- `eventName`: `"onBarcodeRead"`
- `listener`: Fonction appelée lors d'un scan avec l'événement `BarcodeReadEvent`
#### Types TypeScript
```typescript
type BarcodeReadEvent = {
data: string; // Le code-barres scanné
timestamp: number; // Timestamp du scan
};
```
## Plateformes supportées
- ✅ Android
- ❌ iOS (non supporté)
- ❌ Web (non supporté)
## Prérequis
- Expo SDK
- Appareil Android avec scanner Datalogic intégré
- Le SDK Datalogic Android est automatiquement inclus via JitPack
## Licence
MIT