shakebug-react-native

Shakebug allows users to report the bug from your mobile phone for your application. Here users just need to shake their mobile and all the data regarding bugs & crashes can be seen by developers through their log in panel easily.
For more info, visit shakebug.com.
Installation
Navigate to your React Native project directory and install shakebug-react-native
npm install shakebug-react-native
Or if you prefer to use Yarn instead of npm:
yarn add shakebug-react-native
Make sure to install Required Libraries also
npm i react-native-view-shot react-native-video react-native-video-trim@3.0.9
Or if you prefer to use Yarn instead of npm:
yarn add react-native-view-shot react-native-video react-native-video-trim@3.0.9
iOS
- You need to provide permissions inside
ios/YourProjectName/info.plist:
<key>NSCameraUsageDescription</key>
<string></string>
<key>NSMicrophoneUsageDescription</key>
<string></string>
<key>NSPhotoLibraryUsageDescription</key>
<string></string>
ENV['RCT_NEW_ARCH_ENABLED'] = '0'
cd ios && pod install && cd ..
Android
Android minSdkVersion 24 required
You can change it in android/build.gradle
buildscript {
...
ext {
...
minSdkVersion = 24 or later
...
}
...
}
Usage
you Need to import ShakebugView in root file of application (App.js)
Import ShakebugView from 'shakebug-react-native';
export default App = () => {
return(
<ShakebugView
Android_appkey= “your android app key”
iOS_appkey= “your ios app key”
other options...
>
//Your code...
</ShakebugView>
)
}
If you use NavigationContainer in App.js/root file (where you import ShakebugView) then you need to pass independent as parameter in NavigationContainer
Import ShakebugView from 'shakebug-react-native';
export default App = () => {
return(
<ShakebugView
Android_appkey= “your android app key”
iOS_appkey= “your ios app key”
other options…
>
<NavigationContainer independent>
//Your code...
</NavigationContainer>
</ShakebugView>
)
}
You can add event on click:
import { Button } from 'react-native';
import ShakebugView, { addEventKey } from 'react-native-shakebug';
export default App = () => {
return(
<Button
title='Prees'
onPress={() => {
addEventKey("key_name", value)
}}
/>
)
}
Remote Code Execution
With Shakebug Remote Code, you can fetch dynamic configuration values based on predefined keys set in the Shakebug dashboard. It supports String, Number, Boolean, and JSON types and allows you to modify app behavior without a version update.
import { Button } from 'react-native';
import { fetchRemoteCodeValue } from 'react-native-shakebug';
export default App = () => {
return(
<Button
title='Prees'
onPress={async() => {
const result = await fetchRemoteCodeValue("test")
}}
/>
)
}
Properties
| Key Name | Type | Description | Default Value |
|---|
|
| Android_appkey | String(required) | This initializes Shake Bug with the default invocation event. Be sure to pass your application key which given by ShakeBug website. | |
| iOS_appkey | String(required) | This initializes Shake Bug with the default invocation event. Be sure to pass your application key which given by ShakeBug website. | |
| showTutorialScreenFirstTime | boolean | Add the following for enabling/disabling first time tutorial screen. | true |
| ShakebugThemeColor | String | Developer can also set custome theme color in Shakebug SDK screens. | |
| changeSDKScreenTitle | Array | Developer can also set custom title for Shakebug annotate and feedback input screen. | ["Annotate your bug", "Add Details"] |
| allowToReportBugByShakingMobile | boolean | Add the following to allow report bug by shaking mobile. | true |
| allowToReportBugByScreenCapture | boolean | Add the following to allow report bug by screenshot capture event. | false |
| ShakebugLanguage | String | If you want to set forcefully any language for the bug reporting screen then use following prop. | Your Device's language |
| allowCrashReport | boolean | If you want to allow report crash while app get crashed then use following prop. | true |
| makeLogEnabled | boolean | If you want to show any logs on console then use following prop. | false |
| setShakebugSDKEndPointURL | Array | If you have on-premise hosting plan then following prop will be used. | |
Methods
| Name | Description | Usage |
|---|
| addEventKey | If you want add event to any screen or activity use following method | addEventKey("Key_name", value) |
Documentation
View our documentation.
Contact
Visit on: https://www.shakebug.com.
Contact us on support@shakebug.com in case of any use.