Fabric Plugin for Cordova
It requires Cordova 6.x or newer (tested on 7.0.0) and has APIs for iOS and Android.
The iOS version uses Fabric SDK 1.7.5 and Crashlytics SDK 3.10.1 framework bundles which are located in
The Android version uses Gradle to get the Fabric SDK (
io.fabric.tools:gradle:1.+) and the Crashlytics SDK (
com.crashlytics.sdk.android:crashlytics:2.9.1) from Maven repositories when the plugin is added.
- Make sure that you have Node and Cordova CLI or PhoneGap's CLI installed on your machine.
- Setup your Fabric.io account and get your API Key and Build Secret from your organization page.
- Add a plugin to your project using Cordova CLI, specifying the keys with the
# Install from npm registry:cordova plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=XXX --variable FABRIC_API_SECRET=xxx# Or to install directly from github:# (replace x.x.x with the tag of the version your want, or omit for HEAD)cordova plugin add https://github.com/sarriaroman/FabricPlugin#x.x.x --variable FABRIC_API_KEY=XXX --variable FABRIC_API_SECRET=xxx
Note: If you have never registered an app with your organization, the organization page may redirect you to a wizard preventing you from obtaining your keys. You may be able to obtain your keys from this page. Scroll down to the "Run Script Build Phase" block. The first, shorter string is the API key and the second, longer string is the build secret. If that doesn't work you can follow the wizard and integrate the kit into a dummy "Hello World" project which should then unlock the organization page.
The plugin is available via global variable named
fabric. It exposes APIs for both Crashlytics and Answers.
Below are a few examples; see the API documentation for a complete list.
Simulate a Native Crash
Send a Non Fatal Crash / Recording Errors
//Android and iOSwindowfabricCrashlytics;windowfabricCrashlytics;//iOS only. Send message and error codewindowfabricCrashlytics;windowfabricCrashlytics;//Android only. Send stack trace with non fatal crash (requires )windowfabricCrashlytics;
Crashes are grouped via stack trace analysis. Logged errors are grouped, instead, by the error domain and code. Remember that this means error issues can span many different call sites.
Set Information for Crash Reports
Send a Sign Up Event
Send a Sign Up Event (with custom attributes)
var attributes =foo: "data"bar: true;windowfabricAnswers;
Send a Add To Cart Event
Automatic Configuration of Fabric SDKs
A normal installation for the Fabric SDKs involves downloading the Fabric tool and pointing it at your native code project. This tool takes care of adding references and modifying your build scripts and/or project files.
This plugin instead performs these steps via two build hooks located in the
This allows you to avoid using the Fabric tool as well as omit your
platforms directory from source control.
Automatic Debug Symbol Upload on Build
The Fabric SDK comes with a command line tool that takes care of uploading debug symbols after a build so that they can be used when viewing crash reports.
For iOS, our build hook adds a build script phase block to execute Fabric's uploader command line tool.
For Android, our build hook modifies the
build.gradle file to delegate to Fabric's uploader Gradle task.
Updating Fabric and Crashlytics
Fabric and Crashlytics can be udpated via scripts/add-packages.sh. This script creates a temporary directory, obtains packages from their cocoapods download locations, and overwrites the frameworks in lib/ios.
To run the package update script:
npm run add-packages
The desired package versions are pulled from package.json:
If you wish to contribute please see
- Román A. Sarria
- Justin Unterreiner
- Based on the following plugins:
This project exists thanks to all the people who contribute. [Contribute].
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]