Skip to content
Fabric Crashlytics plugin for Cordova apps
JavaScript Java Objective-C Shell
Branch: master
Clone or download
Pull request Compare This branch is 9 commits ahead, 12 commits behind vianneyniji:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
hooks
libs
src
www
.gitignore
README.md
cordova-crashlytics-plugin.iml
plugin.xml
pom.xml
release.sh

README.md

org.apache.cordova.crashlytics

This plugin provides a bridge between javascript error handling and Fabric Crashlytics serverside client API.

Installation

cordova plugin add https://github.com/vianneyniji/cordova-fabric-crashlytics-plugin --variable CRASHLYTICS_API_SECRET=<YOUR CRASHLYTICS API SECRET HERE> --variable CRASHLYTICS_API_KEY=<YOUR CRASHLYTICS API KEY HERE>

Crashlytics

Plugins provides a navigator.crashlytics object with following methods :

  • logException(string) : Sends an exception (non fatal) to the Crashlytics backend (Android only)
  • log(string) : Sends a standard log message (non fatal) to the Crashlytics backend
  • log(errorLevel, tag, msg) (Android only)
  • setApplicationInstallationIdentifier(appInstId) (Android only)
  • setBool(key, value)
  • setDouble(key, value)
  • setFloat(key, value)
  • setInt(key, value)
  • setLong(key, value)
  • setString(key, value)
  • setUserEmail(email)
  • setUserIdentifier(userId)
  • setUserName(userName)
  • simulateCrash(): Simulates a crash

Supported platforms

  • Android
  • iOS

AngularJS integration

Use the following snippet to integrate the plugin in your AngularJS app gracefully :

var module = angular.module("my-module", []);

module.config(['$provide', function($provide) {
    $provide.decorator("$exceptionHandler", ['$delegate', function($delegate) {
        return function(exception, cause) {
            $delegate(exception, cause);

            // Decorating standard exception handling behaviour by sending exception to crashlytics plugin
            var message = exception.toString();
            // Here, I rely on stacktrace-js (http://www.stacktracejs.com/) to format exception stacktraces before
            // sending it to the native bridge
            var stacktrace = exception.stack.toLocaleString();
            navigator.crashlytics.logException("ERROR: "+message+", stacktrace: "+stacktrace);
        };
    }]);
}]);
You can’t perform that action at this time.