Integration Guide
React Native
Cross-platform capture for React Native apps. Bridge-free implementation.
15 minIntermediate
1
Install SDK
npm install @immutis/react-native # or yarn add @immutis/react-native
2
Configure
// ImmutisProvider wrapping your app
import { ImmutisProvider } from '@immutis/react-native'
function App() {
return (
<ImmutisProvider apiKey="your_api_key">
<YourApp />
</ImmutisProvider>
)
}3
Request permissions
Add to app.json:
{
"expo": {
"ios": {
"infoPlist": {
"NSCameraUsageDescription": "Immutis needs camera access for evidence capture",
"NSLocationWhenInUseUsageDescription": "Immutis records location with evidence"
}
}
}
}
Or request at runtime using expo-camera or react-native-camera.4
Capture
import { useImmutis } from '@immutis/react-native'
function CaptureScreen() {
const { capture, isCapturing } = useImmutis()
const handleCapture = async () => {
const evidence = await capture({
type: 'photo',
location: true,
timestamp: true,
hardwareAttestation: true
})
console.log('Sealed:', evidence.hash)
}
return (
<Button onPress={handleCapture} disabled={isCapturing}>
{isCapturing ? 'Capturing...' : 'Capture Evidence'}
</Button>
)
}5
Verify
import { useImmutis } from '@immutis/react-native'
function EvidenceDetailScreen({ evidenceId }) {
const { verify } = useImmutis()
useEffect(() => {
const check = async () => {
const result = await verify(evidenceId, ['sha256', 'hardware'])
console.log('Valid:', result.valid)
}
check()
}, [evidenceId])
// ... render verification status
}Requirements
- React Native 0.70+
- iOS 12.0+ / Android API 26+