Installation
React Native SDK
Add bug reporting to your iOS and Android app.
The react-native-snagrelay package brings screenshot + annotation bug reporting to
React Native apps, submitting to the same backend as the web widget.
Requires the New Architecture
Needs React Native ≥ 0.76 with the New Architecture enabled, and a custom dev client — it does not run in Expo Go.
Install
npm install github:snagrelay/react-native-snagrelay
npm install react-native-view-shot react-native-svg react-native-device-info react-native-shake @react-native-picker/picker
cd ios && pod installSet up the provider
Wrap your app in SnagRelayProvider with your Project's API key:
import { SnagRelayProvider } from 'react-native-snagrelay';
export default function App() {
return (
<SnagRelayProvider
apiKey="YOUR_API_KEY"
shakeToOpen
buttonPosition="bottom-right"
>
{/* your app */}
</SnagRelayProvider>
);
}Configuration
| Prop | Type | Default | Notes |
|---|---|---|---|
apiKey | string | — | Required |
baseUrl | string | https://app.snagrelay.com | Override for self-hosted setups |
user | { email?, name?, id? } | — | Attach reporter identity to reports |
autoShowButton | boolean | true | Show the floating report button automatically |
buttonPosition | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'bottom-right' | |
theme | { primaryColor?, textColor?, backgroundColor? } | — | |
shakeToOpen | boolean | true | Open the reporter on a device shake |
hapticFeedback | boolean | true |
Opening it manually
import { SnagRelay } from 'react-native-snagrelay';
SnagRelay.open();
SnagRelay.close();
SnagRelay.setUser({ email: 'user@example.com' });What's captured
Screenshot with annotation tools (pen, arrow, highlight, hide), JS errors, failed network requests, and console warnings/errors — submitted to the same pipeline as the web widget. Session replay and video recording are not available in v1 of the mobile SDK.