{"id":4745,"url":"https://github.com/Instabug/Instabug-React-Native","last_synced_at":"2025-08-04T02:31:38.258Z","repository":{"id":32891792,"uuid":"69880796","full_name":"Instabug/Instabug-React-Native","owner":"Instabug","description":"In-app feedback and bug reporting tool for React Native","archived":false,"fork":false,"pushed_at":"2025-07-28T17:49:24.000Z","size":1095880,"stargazers_count":325,"open_issues_count":50,"forks_count":101,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-07-28T19:32:22.511Z","etag":null,"topics":["bug-reporter","bug-reporting","instabug","react-native","sdk"],"latest_commit_sha":null,"homepage":"https://instabug.com/platforms/react-native","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Instabug.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-10-03T14:50:16.000Z","updated_at":"2025-07-15T07:00:44.000Z","dependencies_parsed_at":"2023-09-29T09:03:27.202Z","dependency_job_id":"d8b74c50-63f2-40c8-b938-157188860a6f","html_url":"https://github.com/Instabug/Instabug-React-Native","commit_stats":{"total_commits":1281,"total_committers":62,"mean_commits":"20.661290322580644","dds":0.8134270101483216,"last_synced_commit":"f3ce218d157239d7d3d5963053090b07cd33fb17"},"previous_names":["instabug/instabug-reactnative"],"tags_count":192,"template":false,"template_full_name":null,"purl":"pkg:github/Instabug/Instabug-React-Native","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instabug%2FInstabug-React-Native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instabug%2FInstabug-React-Native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instabug%2FInstabug-React-Native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instabug%2FInstabug-React-Native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Instabug","download_url":"https://codeload.github.com/Instabug/Instabug-React-Native/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instabug%2FInstabug-React-Native/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268639931,"owners_count":24282678,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bug-reporter","bug-reporting","instabug","react-native","sdk"],"created_at":"2024-01-05T20:17:22.011Z","updated_at":"2025-08-04T02:31:37.792Z","avatar_url":"https://github.com/Instabug.png","language":"TypeScript","funding_links":[],"categories":["Components"],"sub_categories":["Integrations"],"readme":"# Instabug for React Native\n\n[![npm](https://img.shields.io/npm/v/instabug-reactnative.svg)](https://www.npmjs.com/package/instabug-reactnative)\n[![npm](https://img.shields.io/npm/dt/instabug-reactnative.svg)](https://www.npmjs.com/package/instabug-reactnative)\n[![npm](https://img.shields.io/npm/l/instabug-reactnative.svg)](https://github.com/Instabug/instabug-reactnative/blob/master/LICENSE)\n[![Twitter](https://img.shields.io/badge/twitter-@Instabug-blue.svg)](https://twitter.com/Instabug)\n[![Analytics](https://instabug-ga.appspot.com/UA-41982088-6/github/Instabug/instabug-reactnative?pixel)](https://instabug.com)\n\nInstabug is an in-app feedback and bug reporting tool for mobile apps. With just a simple shake, your users or beta testers can [report bugs](https://instabug.com/bug-reporting) or send in-app feedback and the SDK will capture an environment snapshot of your user's device including all console logs, and [server-side network requests](https://instabug.com/network-logging) compiling all these details in one organised dashboard to help you debug and fix bugs faster.\n\nInstabug also provides you with a [reliable crash reporter](https://instabug.com/crash-reporting) that automatically captures a detailed report of the running environment, the different threads’ states, [the steps to reproduce the crash](https://instabug.com/user-steps), and the network request logs. All the data is captured automatically with no need for breadcrumbs, and you can always [reply back to your users](https://instabug.com/in-app-chat) and they will receive your messages within the app.\n\nFor more info, visit [Instabug.com](https://www.instabug.com).\n\n## Installation\n\n1. In Terminal, navigate to your React Native directory and install the `instabug-reactnative` package:\n\n   ```bash\n   npm install instabug-reactnative\n   ```\n\n   Or if you prefer to use Yarn instead of npm:\n\n   ```bash\n   yarn add instabug-reactnative\n   ```\n\n2. CocoaPods on iOS needs this extra step:\n\n   ```bash\n   cd ios \u0026\u0026 pod install \u0026\u0026 cd ..\n   ```\n\n## Initializing Instabug\n\nTo start using Instabug, import it as follows, then initialize it in the `constructor` or `componentWillMount`. This line will let the SDK work with the default behavior. The SDK will be invoked when the device is shaken. You can customize this behavior through the APIs.\n\n```javascript\nimport Instabug from 'instabug-reactnative';\n\nInstabug.init({\n  token: 'APP_TOKEN',\n  invocationEvents: [Instabug.invocationEvent.shake],\n});\n```\n\n_You can find your app token by selecting the SDK tab from your [**Instabug dashboard**](https://dashboard.instabug.com)._\n\n\u003e :warning: If you're updating the SDK from versions prior to v11, please check our [migration guide](https://docs.instabug.com/docs/react-native-migration-guide).\n\n## Microphone and Photo Library Usage Description (iOS Only)\n\nInstabug needs access to the microphone and photo library to be able to let users add audio and video attachments. Starting from iOS 10, apps that don’t provide a usage description for those 2 permissions would be rejected when submitted to the App Store.\n\nFor your app not to be rejected, you’ll need to add the following 2 keys to your app’s info.plist file with text explaining to the user why those permissions are needed:\n\n- `NSMicrophoneUsageDescription`\n- `NSPhotoLibraryUsageDescription`\n\nIf your app doesn’t already access the microphone or photo library, we recommend using a usage description like:\n\n- \"`\u003capp name\u003e` needs access to the microphone to be able to attach voice notes.\"\n- \"`\u003capp name\u003e` needs access to your photo library for you to be able to attach images.\"\n\n**The permission alert for accessing the microphone/photo library will NOT appear unless users attempt to attach a voice note/photo while using Instabug.**\n\n## Uploading Source Map Files for Crash Reports\n\nFor your app crashes to show up with a fully symbolicated stack trace, we will automatically generate the source map files and upload them to your dashboard on release build. To do so, we rely on your app token being explicitly added to `Instabug.init({token: 'YOUR_APP_TOKEN'})` in JavaScript.\n\nIf your app token is defined as a constant, you can set an environment variable `INSTABUG_APP_TOKEN` to be used instead.\nWe also automatically read your `versionName` and `versionCode` to upload your sourcemap file. alternatively, can also set the environment variables `INSTABUG_APP_VERSION_NAME` and `INSTABUG_APP_VERSION_CODE` to be used instead.\n\nTo disable the automatic upload, you can set the environment variable `INSTABUG_SOURCEMAPS_UPLOAD_DISABLE` to TRUE.\n\n## Network Logging\n\nInstabug network logging is enabled by default. It intercepts any requests performed with `fetch` or `XMLHttpRequest` and attaches them to the report that will be sent to the dashboard. To disable network logs:\n\n```javascript\nimport { NetworkLogger } from 'instabug-reactnative';\n```\n\n```javascript\nNetworkLogger.setEnabled(false);\n```\n\n## Repro Steps\n\nInstabug Repro Steps are enabled by default. It captures a screenshot of each screen the user navigates to. These screens are attached to the BugReport when sent.\n\nWe support the two most popular React Native navigation libraries:\n\n- **[react-navigation](https://github.com/react-navigation/react-navigation)**\n\n  - **v5**\n    set the `onStateChange` to `Instabug.onStateChange` in your NavigationContainer as follows:\n\n    ```javascript\n    \u003cNavigationContainer onStateChange={Instabug.onStateChange} /\u003e\n    ```\n\n  - **\u003c=v4**\n    set the `onNavigationStateChange` to `Instabug.onNavigationStateChange` in your App wrapper as follows:\n\n    ```javascript\n    export default () =\u003e \u003cApp onNavigationStateChange={Instabug.onNavigationStateChange} /\u003e;\n    ```\n\n- **[react-native-navigation](https://github.com/wix/react-native-navigation)**\n\n  Register `Instabug.componentDidAppearListener` listener using:\n\n  ```javascript\n  Navigation.events().registerComponentDidAppearListener(Instabug.componentDidAppearListener);\n  ```\n\nAlternatively, you can report your screen changes manually using the following API\n\n```javascript\nInstabug.reportScreenChange('screenName');\n```\n\nYou can disable Repro Steps using the following API:\n\n```javascript\nInstabug.setReproStepsConfig({ all: ReproStepsMode.disabled });\n```\n\n## Documentation\n\nFor more details about the supported APIs and how to use them, check our [**Documentation**](https://docs.instabug.com/docs/react-native-overview).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FInstabug%2FInstabug-React-Native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FInstabug%2FInstabug-React-Native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FInstabug%2FInstabug-React-Native/lists"}