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.

Not in the Installation channel picker yet

The Project Installation tab currently offers Web, WordPress, and Chrome Extension. The React Native SDK is available to integrate manually with your project API key.

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