rn-camera-barcode-scan
15+ format destekli yüksek performanslı gerçek zamanlı barkod tarayıcı. Android'de CameraX + ML Kit, iOS'ta AVFoundation kullanır.
React NativeExpoBarkodQR KodKamera
rn-camera-barcode-scan
React Native (Expo) için yüksek performanslı, gerçek zamanlı barkod tarayıcı bileşeni. Yerel performansla Android ve iOS'ta 15+ barkod formatını destekler.

- Android — CameraX + Google ML Kit (cihaz üzerinde, internet gerektirmez)
- iOS — AVFoundation yerel barkod motoru
Özellikler
- 15+ barkod formatı (QR, EAN, Code 128, Data Matrix ve daha fazlası)
- Çözümlenen barkodlar üzerinde gerçek zamanlı yeşil sınırlayıcı kutu
- Fener / flaş kontrolü
- Bileşeni kaldırmadan kamerayı durdurma ve devam ettirme (
isActive) - Yakın mesafe otofokus optimizasyonu
- Yalnızca görünür alan içinde tarama — tam sensör değil
- Hem Eski Mimari (Bridge) hem de Yeni Mimari (Fabric + TurboModules) desteği
Desteklenen Barkod Formatları
| Format | Android | iOS |
|---|---|---|
| QR Code | ✅ | ✅ |
| EAN-8 | ✅ | ✅ |
| EAN-13 | ✅ | ✅ |
| Code 128 | ✅ | ✅ |
| Code 39 | ✅ | ✅ |
| Data Matrix | ✅ | ✅ |
| PDF417 | ✅ | ✅ |
| Aztec | ✅ | ✅ |
| UPC-A | ✅ | — |
| UPC-E | ✅ | ✅ |
Kurulum
npx expo install rn-camera-barcode-scan
Hızlı Başlangıç
import { BarcodeScanner, requestCameraPermission } from "rn-camera-barcode-scan";
export default function App() {
const [hasPermission, setHasPermission] = useState(false);
useEffect(() => {
requestCameraPermission().then((status) => {
setHasPermission(status === "granted");
});
}, []);
if (!hasPermission) return <Text>Kamera izni gerekli</Text>;
return (
<BarcodeScanner
style={{ width: 320, height: 400, borderRadius: 12 }}
onBarcodeScan={(result) => {
console.log(result.type, result.data);
}}
/>
);
}
Gereksinimler
- iOS 15.0+
- Android minSdk 24
- Expo SDK 52+
- React Native 0.76+
Lisans
MIT