@phermange/datalogic-sdk-bridge
v0.7.5
Published
React Native bridge for Datalogic SDK - Barcode scanner integration for Expo apps
Downloads
16
Maintainers
Readme
@phermange/datalogic-sdk-bridge
React Native bridge pour le SDK Datalogic - Intégration de scanner de codes-barres pour les applications Expo.
Installation
npm install @phermange/datalogic-sdk-bridgeUtilisation
Import du module
import { BarcodeManager } from "@phermange/datalogic-sdk-bridge";Écoute des événements de scan
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 matériel (optionnel pour la simulation)
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>
);
}Simulation sans matériel (tests)
Pour tester la gestion d'événements côté React Native sans PDA/scanner Datalogic, utilisez la méthode native de simulation:
import { BarcodeManager } from "@phermange/datalogic-sdk-bridge";
// Émet un événement onBarcodeRead avec la donnée fournie
BarcodeManager.simulateBarcodeRead("TEST-123456");Note:
- La première fois que vous ajoutez/appelez une API native, une reconstruction native est requise (ex:
npx expo run:android). Un simple reload JS ne suffit pas. addReadListener()n'est pas nécessaire pour la simulation, mais peut rester si déjà appelé.
API
BarcodeManager
addReadListener()
Démarre l'écoute du scanner Datalogic (matériel).
removeReadListener()
Arrête l'écoute du scanner Datalogic (matériel).
simulateBarcodeRead(data: string)
Émet manuellement un événement onBarcodeRead pour les tests, avec la chaîne data fournie et un timestamp généré côté natif.
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énementBarcodeReadEvent
Types 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é (pour les tests matériels)
- Le SDK Datalogic Android est automatiquement inclus via JitPack
Licence
MIT
