React Native SDK
Build native mobile applications using React Native and our SDK. Aila SDK works with both new and old versions of React Native architecture.
Installation
Install the SDK using npm or yarn:
- npm
- Yarn
npm install react-native-aila-sdk
yarn add react-native-aila-sdk
Quick Start
Import and initialize the SDK in your React Native app:
import AilaSDK from 'react-native-aila-sdk';
// Get SDK constants
const { multiScanMode, duplicateFilter, id1CardDetectionMode, beepMode } =
AilaSDK.getConstants();
// Initialize SDK at module level (before component definition)
AilaSDK.init({
multiScanMode: multiScanMode.AilaMultiScanModeOn,
duplicateFilter: duplicateFilter.AilaDuplicateFilterOff,
id1CardDetectionMode: id1CardDetectionMode.AilaID1CardDetectionModeOn,
beepMode: beepMode.AilaBeepModeOff,
}).then(() => {
// Read license after successful initialization
AilaSDK.readLicense('your-license-key-here');
});
tip
Initialize the SDK at the module level (outside your component) to ensure it's ready before your app renders.
Basic Usage
Here's a complete example with scanning functionality:
import React, { useEffect } from 'react';
import { View, Text, Button, StyleSheet } from 'react-native';
import AilaSDK from 'react-native-aila-sdk';
// Initialize SDK before component
const { multiScanMode, duplicateFilter, beepMode } = AilaSDK.getConstants();
AilaSDK.init({
multiScanMode: multiScanMode.AilaMultiScanModeOn,
duplicateFilter: duplicateFilter.AilaDuplicateFilterOff,
beepMode: beepMode.AilaBeepModeOff,
}).then(() => {
AilaSDK.readLicense('your-license-key-here');
});
export default function App() {
useEffect(() => {
// Listen for scan events
const subscription = AilaSDK.onScan((event) => {
console.log('Scan Type:', event.scanTypeHumanReadable);
console.log('Scanned Data:', event.scanText);
// Reset scan for next barcode
AilaSDK.resetScan();
});
return () => {
// Cleanup: stop scanning when component unmounts
AilaSDK.stopScanning();
};
}, []);
return (
<View style={styles.container}>
<Text style={styles.title}>Aila SDK Example</Text>
<View style={styles.buttonContainer}>
<Button
title="Start Scanning"
onPress={() => AilaSDK.startScanning()}
/>
<Button
title="Stop Scanning"
onPress={() => AilaSDK.stopScanning()}
/>
</View>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
padding: 20,
},
title: {
fontSize: 24,
fontWeight: 'bold',
marginBottom: 30,
},
buttonContainer: {
gap: 10,
width: '100%',
},
});
Next Steps
- Requirements - Platform and permission requirements
- Supported Formats - Barcode types and MRZ support
- Constants - Configuration constants reference
- API Reference - Complete method documentation