npm i @everframe/react-native
No manual linking. Autolinking picks up the native module; run pod install for
iOS as usual.
Using Expo? Follow Expo instead: it covers the development build, the config plugin, Release builds with R8 and symbol upload.
React Native Web
The browser entry re-exports @everframe/react. It uses that package’s
browser reporter, DOM screenshots, and rrweb replay, with no native module in
the browser bundle. The React SDK is a dependency of the React Native package,
so install only the React Native SDK. A React Native Web host also needs React
DOM, as usual:
npm i @everframe/react-native
Bundlers that select the browser export can keep imports from
@everframe/react-native. The explicit @everframe/react-native/web subpath
provides the same API when the bundler does not select the browser condition.
EverframeSensitive and useEverframeSensitiveRef use browser masking on web
and native masking on iOS and Android.
Wrap your app
import { EverframeProvider } from '@everframe/react-native';
export default function App() {
return (
<EverframeProvider config={{ sdkKey: 'evf_live_…' }}>
<RootNavigator />
</EverframeProvider>
);
}
sdkKey is your app’s SDK key (evf_live_…) from the app’s Setup tab.
Open the reporter
import { useEverframe } from '@everframe/react-native';
function ReportBugButton() {
const { open } = useEverframe();
return <Button title="Report a bug" onPress={() => open()} />;
}
There is no shake gesture or floating bubble by default — you wire the trigger, because a gesture that fires by accident during normal use costs you more than it gains.
On a TV there is no on-device reporter: open() presents nothing. On Android
TV, link the device and use the remote gesture for
quick capture; on tvOS, crashes, errors and
replays are captured, and on-device capture arrives later.
Wire navigation
This is the one step that is not automatic. An RN app is a single native screen for its whole lifetime, so nothing can observe your navigator from outside. One line per screen, or one integration:
import { reactNavigationIntegration } from '@everframe/react-native/integrations/react-navigation';
See Screen tracking — skipping it is why a report would otherwise arrive with no trail.
Requirements
| React Native | 0.84+ |
| Architecture | New Architecture (Fabric). Hermes supported. |
| TV | react-native-tvos supported, including tvOS |
| Vega OS | Use the separate Vega OS SDK — see below |
| iOS deployment target | 15+ |
| Android minSdk | 24+ |
Vega OS
Do not install @everframe/react-native in a Vega OS app. Vega OS apps build
on React Native 0.72, older than the 0.84 this SDK needs, and without its native
module: the install fails on the peer requirement, the Vega build rejects the
package, and with workarounds the app stops at launch. Vega OS apps use the
separate Vega OS SDK, @everframe/vega, a preview that
reports JavaScript errors only.
Verify it
File a report and check the delivery log in the dashboard. If nothing arrives,
the usual causes are a wrong key, the provider not actually mounted above the
code calling open(), and — on iOS — a missing pod install after upgrading.
There is no debug option on this SDK; native logs go to Xcode and Logcat.
Next
- Expo — setup for Expo apps
- Configuration — every option
- Screen tracking — the required wiring
- Sensitive content — mask before capture