Skip to main content

npm

Learn how to add Shake to your React Native app using npm.

Create a new app on Dashboard

Visit your Shake Dashboard and add a new Android/iOS React Native app by clicking the + button in the sidebar. Once you're done, you're ready to proceed with the steps below.

Add Shake dependency to your package.json file

Execute the npm install command in your terminal:

Terminal
npm install @shakebugs/react-native-shake

Install pods from the project root directory:

Terminal
cd ios && pod install && cd ..

After the installation also run pod update Shake to be perfectly sure that you're using the latest Shake .

Initialize Shake

Call Shake.start() in your index.js file. Replace your-api-client-id and your-api-client-secret with the actual values you have in your workspace administration:

index.js
import { AppRegistry } from 'react-native';
import App from './src/App';
import { name as appName } from './app.json';
import Shake from '@shakebugs/react-native-shake';
AppRegistry.registerComponent(appName, () => App);
Shake.start('your-api-client-id', 'your-api-client-secret');

Build and run your project by running react-native start command in the terminal. Use the react-native run-android command to run your app on the Android device. Or use the react-native run-ios command to run your app on the iOS device.

Conditional initialization

We recommend initializing Shake in the entry point of your app. However, depending on your app, you'll want to initialize Shake just in a specific conditions, depending on your app data. You can do it as shown in the example below when your app data is available:

MainScreen.js
import Shake from '@shakebugs/react-native-shake';
const MainScreen = (props) => {
useEffect(() => {
if (User.isTester) {
Shake.start('your-api-client-id', 'your-api-client-secret');
}
}, []);
};

Visit your Shake dashboard

Follow the instructions there to send your first feedback with Shake and you're all set.

SDK customizations

Now that Shake SDK is in your app and you have sent the first feedback for fun, everything else is optional. As the next step, try the three most popular SDK customizations: