React Native
The Spyne Automobile SDK brings the AI-guided vehicle photography experience to React Native apps on both iOS and Android.
React Native does not call the SDK directly — each native SDK presents its own camera UI. A React Native app connects to it through a native module bridge: JavaScript sends the shoot details down, the native SDK runs the guided capture, and shoot lifecycle events are emitted back up to JavaScript.
The shoot itself behaves exactly like the native SDKs. This page documents only the React Native-specific bridge and links to the existing docs for everything else.
Sample project: a complete, executable React Native integration is available on GitHub — spyne-react-native-sample. Clone it to see the native module, events, and JS UI wired up end to end.
Architecture
JavaScript (App.tsx)
- form UI + VIN validation
- NativeModules.Spyne.start(...)
- NativeEventEmitter ← onShootInitiated / Completed / Exit
iOS (Swift) → SpyneModule (RCTEventEmitter) + AWS S3 → SpyneAutomobileSDK (Swift Package Manager)
Android (Kotlin) → SpyneModule (ReactContextBaseJavaModule) → SpyneAutomobileSDK (JitPack / Gradle)
The native module is named Spyne on both platforms, so a single JavaScript API serves iOS and Android. Only the native wiring differs.
Prerequisites
| Requirement | Notes |
|---|---|
| React Native | 0.78+ recommended |
| iOS deployment target | 16.0 |
| Android minSdkVersion | 26 |
| Spyne API key | Provided by your Spyne POC |
| JitPack auth token (Android only) | Access to Spyne private artifacts |
| Physical device | Recommended — the guided capture flow needs a real camera |
Updated 20 days ago
