react-native-testflight-feedback
v1.0.2
Published
Floating feedback button for TestFlight builds in React Native/Expo apps
Maintainers
Readme
react-native-testflight-feedback
A floating feedback button for TestFlight builds in React Native / Expo apps. Captures a screenshot, lets testers rate with emoji + optional text, and sends it via email.
Only visible in TestFlight builds — automatically hidden in development and production App Store builds.
Install
npx expo install react-native-testflight-feedbackSetup
1. Add the provider
Wrap your root layout with FeedbackProvider:
import { FeedbackProvider } from 'react-native-testflight-feedback';
export default function RootLayout() {
return (
<FeedbackProvider email="[email protected]">
<Stack>
{/* your screens */}
</Stack>
</FeedbackProvider>
);
}2. Set the build flag
In your app.config.ts (or app.config.js):
export default {
// ...your config
extra: {
betaBuild: process.env.BETA_BUILD === "true",
},
};In your eas.json, add a beta profile with the env var:
{
"build": {
"beta": {
"env": {
"BETA_BUILD": "true"
}
},
"production": {}
}
}Build with eas build --profile beta and the feedback button appears. Build with --profile production and it's gone.
Props
| Prop | Type | Required | Description |
|------|------|----------|-------------|
| email | string | Yes | Recipient email for feedback |
| enabled | boolean | No | Override auto-detection. true forces the button on (useful for testing). |
| children | ReactNode | Yes | Your app content |
How it works
- A floating button appears in the bottom-right corner
- Tapping it captures a screenshot of the current screen
- A modal slides up with the screenshot, 5 emoji choices, and an optional text field
- "Send" opens the device mail client with a pre-filled email containing the feedback + screenshot
Peer dependencies
react>= 18react-native>= 0.72expo-constants>= 14expo-mail-composer>= 12expo-application>= 5expo-device>= 5expo-router>= 3react-native-view-shot>= 3
License
MIT
