react-native-firebase-crash-report
v1.3.0
Published
React Native Firebase Crash Report
Downloads
36
Maintainers
Readme
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
import FirebaseCrash from 'react-native-firebase-crash-report';
/*
* Create custom log messages that will be included in the crash report
*/
FirebaseCrash.log('User logged in');
/*
* Create custom log messages that will be included in the crash report and output to logcat/NSLog
*/
FirebaseCrash.logcat('User logged in');
// 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.logcat('User logged in', 3, 'MyTag');
/*
* Report errors on demand
*
* iOS Note: calling this API on iOS will result in app crash
*/
FirebaseCrash.report('A weird thing just happened...');
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
Add pod 'Firebase/Core'
and pod 'Firebase/Crash'
to Podfile
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 this
include ':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
...
@Override
protected 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)