SnagRelayDocs
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 install

Set 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

PropTypeDefaultNotes
apiKeystringRequired
baseUrlstringhttps://app.snagrelay.comOverride for self-hosted setups
user{ email?, name?, id? }Attach reporter identity to reports
autoShowButtonbooleantrueShow the floating report button automatically
buttonPosition'bottom-right' | 'bottom-left' | 'top-right' | 'top-left''bottom-right'
theme{ primaryColor?, textColor?, backgroundColor? }
shakeToOpenbooleantrueOpen the reporter on a device shake
hapticFeedbackbooleantrue

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.

On this page