React Native Firebase Crash Report
React Native Firebase Crash Report With Custom Log
Version
If you're using React Native >= 0.40, make sure to use react-native-firebase-crash-report
>= 1.2.0
Usage
; /* * Create custom log messages that will be included in the crash report */ FirebaseCrash; /* * Create custom log messages that will be included in the crash report and output to logcat/NSLog */ FirebaseCrash; // Android only// Params:// - message: string, required// - debug level: int, optional, default 3 (https://developer.android.com/reference/android/util/Log.html)// - tag: string, optional, default 'RNFirebaseCrashReport'FirebaseCrash; /* * Report errors on demand * * iOS Note: calling this API on iOS will result in app crash */ FirebaseCrash;
Installation
Install node module
npm install --save react-native-firebase-crash-report
Linking libraries
rnpm link react-native-firebase-crash-report
iOS Configuration
Install Firebase From Cocoapods
For more information please visit Set Up Crash Reporting For iOS
Pre-check
If you are using RN < 0.29 you would have run into this problem, just follow the PR to fix it manually.
Go to your project's ios folder
cd <your_project>/ios
(Optional) Initialise Pod
Note: You can skip this step if you have pod initialised already.
pod init
pod 'Firebase/Core'
and pod 'Firebase/Crash'
to Podfile
Add target 'YourProject' do # Uncomment this line if you're using Swift or would like to use dynamic frameworks use_frameworks! # Pods for YourProject+ pod 'Firebase/Core'+ pod 'Firebase/Crash' target 'YourProjectTests' do inherit! :search_paths # Pods for testing end end
Install Pods
pod install
Initialise Firebase
Add following code in your AppDelegate.m
#import "AppDelegate.h" #import "RCTRootView.h" +@import Firebase; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible];+ + // Use Firebase library to configure APIs+ [FIRApp configure];+ return YES; }
Android Configuration
For more information please visit Set Up Crash Reporting For Android
Upgrade Google Play Services and Google Repository
Add Google Services
- In
android/build.gradle
dependencies { classpath 'com.android.tools.build:gradle:1.3.1' classpath 'de.undercouch:gradle-download-task:2.0.0'+ classpath 'com.google.gms:google-services:3.0.0'
- In
android/app/build.gradle
, add this line at the bottom of the file
apply plugin: 'com.google.gms.google-services'
(Optional) Manually linking libraries
- app/build.gradle
dependencies { ... compile project(':react-native-firebase-analytics') compile project(':react-native-firebase-crash-report') <-- add this ...}
- settings.gradle
include ':react-native-firebase-analytics'project(':react-native-firebase-analytics').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-firebase-analytics/android') // add everything below thisinclude ':react-native-firebase-crash-report'project(':react-native-firebase-crash-report').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-firebase-crash-report/android')
- MainApplication.java
...import com.ianlin.RNFirebaseCrashReport.RNFirebaseCrashReportPackage; <-- add this... @Overrideprotected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new FIRAnalyticsPackage(), ... new RNFirebaseCrashReportPackage(), <-- add this ... );}
Contributing
Any pull requests, issue reports and suggestion are highly welcome.
License
ISC License (functionality equivalent to MIT License)