Important
This module requires React Native Embrace SDK.
Embrace can collect basic session data and crashes as you've already seen in the Crash Reporting and Session Reporting sections. Embrace can also collect the screens that your app opened and include it as context within your sessions. Here's how you add the screen tracker to the session.
yarn add @embrace-io/react-native-navigation
Or
npm install @embrace-io/react-native-navigation
Apply the EmbraceNavigationTracker to your Navigation instance. You should do this in your entry point, usually index.js
Tip
If you have more than one navigation instance, you can pass a second parameter to the build method with an identifier
import { Navigation } from "react-native-navigation";
// Start - Add those lines
import EmbraceNavigationTracker from "@embrace-io/react-native-navigation";
EmbraceNavigationTracker.build(Navigation);
// End - Add those lines
Navigation.registerComponent("myLaunchScreen", () => App);
Navigation.events().registerAppLaunchedListener(() => {
Navigation.setRoot({
root: {
stack: {
children: [
{
component: {
name: "myLaunchScreen",
},
},
],
},
},
});
});
Embrace automatically collects the native screens, if you do not want to see them in the session you can disable it.
Go to your embrace-config.json inside android/app/src/main and add the sdk_config, your file should be like this
{
"app_id": "APP_ID",
"api_token": "API_TOKEN",
...
// Add these lines
"sdk_config": {
"view_config": {
"enable_automatic_activity_capture": false
}
}
}
Go to your Embrace-info.plist inside ios/YOURAPPNAME and add ENABLE_AUTOMATIC_VIEW_CAPTURE as false, your file should be like this
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>API_KEY</key>
<string>{API_KEY}</string>
<key>CRASH_REPORT_ENABLED</key>
<true/>
<!-- Add this key and the value as false-->
<key>ENABLE_AUTOMATIC_VIEW_CAPTURE</key>
<false/>
</dict>
</plist>