@essent/nativescript-ng-sentry
by essent | v4.0.0
A NativeScript plugin to log errors with Sentry.
npm i --save @essent/nativescript-ng-sentry

NativeScript plugin for Sentry

npm version

This is a plugin to log app crashes with Sentry.

Installation

Run the following command from the root of your project:

$ tns plugin add @essent/nativescript-ng-sentry

This command automatically installs the necessary files, as well as stores nativescript-ng-sentry as a dependency in your project's package.json file.

Usage

To use nativescript-ng-sentry you must first import the module:

import { NgSentry } from '@essent/nativescript-ng-sentry';

At the launch of your app call setCredentials with your own credentials, these can be found in your Sentry Project Settings, Client Keys (DSN). Use the public DSN for these credentials. Optionally you can also provide an environment and a user id.

NgSentry.getInstance().setCredentials('123456', '123456789abcdefghijklmnopqrstuvw', 'development', 'unique-user-id');

To log a crash, call saveCrash with a message and details. The details will be used as a Sentry breadcrumb, you can use this to save a stacktrace, for example. You can have a look at our example on how to call this with an uncaughtErrorEvent.

NgSentry.getInstance().saveCrash('My crash message', 'My crash details');

Crashes are not send to Sentry automatically, you can call sendCrashes to send all saved crashes to Sentry. We suggest you call this method in the resume event of your app.

NgSentry.getInstance().sendCrashes();

Breadcrumbs (optional)

You can save breadcrumbs to see what a user did before a crash occurred, these will be added to the next crash you save. To add a breadcrumb use saveBreadcrumb with a title and category.

NgSentry.getInstance().saveBreadcrumb('Routed to details page', 'state');

Optionally you can add extra data to the breadcrumb.

const properties: KeyValue<string> = {
page: 'Change user data',
changed: 'Username'
};
NgSentry.getInstance().saveBreadcrumb('Save success', 'action', properties);

Optionally you can set a maximum amount of breadcrumbs, the default is 50.

NgSentry.getInstance().setMaxAmountOfBreadcrumbs(10);