![38% of CISOs Fear They’re Not Moving Fast Enough on AI](https://cdn.sanity.io/images/cgdhsj6q/production/faa0bc28df98f791e11263f8239b34207f84b86f-1024x1024.webp?w=400&fit=max&auto=format)
Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
instabug-reactnative
Advanced tools
React Native plugin for integrating the Instabug SDK
Instabug 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 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 compiling all these details in one organised dashboard to help you debug and fix bugs faster.
Instabug also provides you with a reliable crash reporter that automatically captures a detailed report of the running environment, the different threads’ states, the steps to reproduce the crash, 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 and they will receive your messages within the app.
For more info, visit Instabug.com.
Updating to a new version? Check the Update Guide before bumping to a new major version.
In Terminal, navigate to your React Native directory and install the instabug-reactnative
package:
npm install instabug-reactnative
Or if you prefer to use Yarn instead of npm:
yarn add instabug-reactnative
CocoaPods on iOS needs this extra step:
cd ios && pod install && cd ..
For React Native >= 0.60, simply run the command:
react-native add-instabug
For React Native < 0.60, link the bridging files in the instabug-reactnative
package:
react-native link instabug-reactnative
To start using Instabug, import it as follows.
import Instabug from 'instabug-reactnative';
Initialize it in the constructor
or componentWillMount
. This line will let the Instabug SDK work with the default behavior. The SDK will be invoked when the device is shaken. You can customize this behavior through the APIs.
Instabug.start('IOS_APP_TOKEN', [Instabug.invocationEvent.shake]);
Open android/app/src/main/java/[...]/MainApplication.java
Make sure to import the package class:
import com.instabug.reactlibrary.RNInstabugReactnativePackage;
For React Native >= 0.60
Add the integration code to the onCreate()
method like the below snippet.
@Override
public void onCreate() {
super.onCreate();
new RNInstabugReactnativePackage
.Builder("APP_TOKEN", MainApplication.this)
.setInvocationEvent("shake")
.setPrimaryColor("#1D82DC")
.setFloatingEdge("left")
.setFloatingButtonOffsetFromTop(250)
.build();
}
For React Native < 0.60
You should find the getPackages()
method looks like the below snippet. You just need to add your Android app token.
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RNInstabugReactnativePackage.Builder("YOUR_APP_TOKEN", MainApplication.this)
.setInvocationEvent("shake")
.setPrimaryColor("#1D82DC")
.setFloatingEdge("left")
.setFloatingButtonOffsetFromTop(250)
.build()
);
}
You can change the invocation event from here, simply by replacing the "shake"
with any of the following "button"
, "none"
, "screenshot"
, or "swipe"
. You can change the primary color by replacing the "#1D82DC"
with any color of your choice.
In the case that you are using the floating button as an invocation event, you can change the floating button edge and the floating button offset using the last two methods, by replacing "left"
to "right"
, and by changing the offset number.
You can find your app token by selecting the SDK tab from your Instabug dashboard.
Make sure the following snippet is added to your project level build.gradle
. This should be added automatically upon linking. If not, you can add it manually.
allprojects {
repositories {
maven {
url "https://sdks.instabug.com/nexus/repository/instabug-cp"
}
}
}
Instabug 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.
For 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:
NSMicrophoneUsageDescription
NSPhotoLibraryUsageDescription
If your app doesn’t already access the microphone or photo library, we recommend using a usage description like:
<app name>
needs access to the microphone to be able to attach voice notes."<app name>
needs access to your photo library for you to be able to attach images."The permission alert for accessing the microphone/photo library will NOT appear unless users attempt to attach a voice note/photo while using Instabug.
For 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.start('YOUR_APP_TOKEN')
in JavaScript.
If your app token is defined as a constant, you can set an environment variable INSTABUG_APP_TOKEN
to be used instead.
We 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.
To disable the automatic upload in android, you can set the following property your build.gradle:
ext {
instabugUploadEnable = false;
}
Instabug 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:
import { NetworkLogger } from 'instabug-reactnative';
NetworkLogger.setEnabled(false);
Instabug 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.
We support the two most popular React Native navigation libraries:
v5
set the onStateChange
to Instabug.onStateChange
in your NavigationContainer as follows:
<NavigationContainer
onStateChange={ Instabug.onStateChange } />
<=v4
set the onNavigationStateChange
to Instabug.onNavigationStateChange
in your App wrapper as follows:
export default () => (
<App
onNavigationStateChange={ Instabug.onNavigationStateChange } />
);
Register Instabug.componentDidAppearListener
listener using:
Navigation.events().registerComponentDidAppearListener( Instabug.componentDidAppearListener );
Alternatively, you can report your screen changes manually using the following API
Instabug.reportScreenChange('screenName');
You can disable Repro Steps using the following API:
Instabug.setReproStepsMode(Instabug.reproStepsMode.disabled);
When updating to version 8.0 through 8.4.x, you'll need to perform the steps below.
Unlink Instabug
react-native unlink instabug-reactnative
Install the new version of Instabug
npm install instabug-reactnative
Link Instabug
react-native link instabug-reactnative
Only for apps using React Native >= 0.60. If you're using a lower version, you don't need to perform any extra steps when updating.
Version 8.5 adds support for React Native 0.60. To use Instabug 8.5 with React Native 0.60, you'll need to perform the following steps.
Unlink Instabug
react-native unlink instabug-reactnative
Install the new version of Instabug
npm install instabug-reactnative
Add Instabug to your project
react-native add-instabug
For more details about the supported APIs and how to use them, check our Documentation.
FAQs
React Native plugin for integrating the Instabug SDK
The npm package instabug-reactnative receives a total of 7,517 weekly downloads. As such, instabug-reactnative popularity was classified as popular.
We found that instabug-reactnative demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.