UNPKG

nativescript-fabric

Version:
144 lines 6.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var application = require("application"); var fabric_common_1 = require("./fabric-common"); var helper_1 = require("./utils/helper"); var CrashlyticsAndroidPlugin = (function () { function CrashlyticsAndroidPlugin() { this.initDone = false; } CrashlyticsAndroidPlugin.prototype.getErrorDetails = function (args) { var error = args.android; if (!error || !error.nativeException) { return { name: error.name || 'Error', nativeException: error.nativeException, message: error.message || JSON.stringify(error), stackTrace: error.stackTrace || null, stack: error.stack || null }; } else { return error.nativeException; } }; CrashlyticsAndroidPlugin.prototype.init = function () { var _this = this; try { if (application.android) { console.info('Fabric: Starting configuring Android platform'); application.android.on('activityStarted', function (activityEventData) { console.info('Fabric: Activating Fabric kits'); io.fabric.sdk.android.Fabric.with(new io.fabric.sdk.android.Fabric.Builder(activityEventData.activity) .kits([ new com.crashlytics.android.Crashlytics(), new com.crashlytics.android.answers.Answers() ]) .debuggable(false) .build()); _this.initDone = true; console.info('Fabric: Init done'); }); application.on('uncaughtError', function (args) { if (!args.android) { var msg = args.toString(); try { msg = helper_1.stringify(args); } catch (ignored) { } com.crashlytics.android.Crashlytics.getInstance().core.log(android.util.Log.ERROR, 'ERROR', msg); } else { com.crashlytics.android.Crashlytics.getInstance().core.logException(_this.getErrorDetails(args)); } }); } } catch (e) { console.error('Unknown error during init of Fabric', e); } }; CrashlyticsAndroidPlugin.prototype.logSignUp = function (method, success) { if (this.initDone) { try { var event_1 = new com.crashlytics.android.answers.SignUpEvent() .putMethod(method) .putSuccess(success); com.crashlytics.android.answers.Answers.getInstance().logSignUp(event_1); } catch (e) { console.error('Unknown logging signup in Fabric', e); } } }; CrashlyticsAndroidPlugin.prototype.logLogin = function (method, success) { if (this.initDone) { try { var event_2 = new com.crashlytics.android.answers.LoginEvent() .putMethod(method) .putSuccess(success); com.crashlytics.android.answers.Answers.getInstance().logLogin(event_2); } catch (e) { console.error('Unknown logging login in Fabric', e); } } }; CrashlyticsAndroidPlugin.prototype.logContentView = function (id, name, type) { if (this.initDone) { try { var event_3 = new com.crashlytics.android.answers.ContentViewEvent() .putContentName(name) .putContentType(type) .putContentId(id); com.crashlytics.android.answers.Answers.getInstance().logContentView(event_3); } catch (e) { console.error('Unknown logging content view in Fabric', e); } } }; CrashlyticsAndroidPlugin.prototype.logCustomEvent = function (withName, customAttributes) { if (this.initDone) { try { var event_4 = new com.crashlytics.android.answers.CustomEvent(withName); if (!!customAttributes) { customAttributes.forEach(function (value, key) { event_4.putCustomAttribute(key, value); }); } com.crashlytics.android.answers.Answers.getInstance().logCustom(event_4); } catch (e) { console.error('Unknown logging custom event in Fabric', e); } } }; CrashlyticsAndroidPlugin.prototype.logError = function (error, msg) { if (this.initDone) { try { if (!error.android) { if (!!msg) { com.crashlytics.android.Crashlytics.getInstance().core.log(android.util.Log.ERROR, 'ERROR', msg); } if (error.toString) { com.crashlytics.android.Crashlytics.getInstance().core.log(android.util.Log.ERROR, 'ERROR', error.toString()); } else { com.crashlytics.android.Crashlytics.getInstance().core.log(JSON.stringify(error)); } } else { com.crashlytics.android.Crashlytics.getInstance().core.logException(this.getErrorDetails(error)); } } catch (e) { console.error('Unknown logging error in Fabric', e); } } }; return CrashlyticsAndroidPlugin; }()); exports.Fabric = fabric_common_1.getInstance(CrashlyticsAndroidPlugin); //# sourceMappingURL=fabric.android.js.map