Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us Check out our open positions
# Angular 14 and newer:
yarn add @sentry/capacitor @sentry/angular --exact
# Vue
yarn add @sentry/capacitor @sentry/vue --exact
# React
yarn add @sentry/capacitor @sentry/react --exact
# Other
yarn add @sentry/capacitor @sentry/browser --exact
Older versions of Angular require @sentry/capacitor V0, for more information check the page: https://docs.sentry.io/platforms/javascript/guides/capacitor/#angular-version-compatibility
To use this SDK, call Sentry.init
as early as possible after loading the page. This will initialize the SDK and hook into the environment. Note that you can turn off almost all side effects using the respective options.
// app.module.ts
import * as Sentry from "@sentry/capacitor";
import { init as sentryAngularInit, createErrorHandler } from "@sentry/angular";
// Init by passing the sibling SDK's init as the second parameter.
Sentry.init({
dsn: "__DSN__",
}, sentryAngularInit);
// Attach the Sentry ErrorHandler
@NgModule({
providers: [
{
provide: ErrorHandler,
useValue: createErrorHandler(),
},
],
})
To set context information or send manual events, use the exported functions of @sentry/capacitor
. Note that these functions will not perform any action before you have called Sentry.init()
:
import * as Sentry from '@sentry/capacitor';
// Set user information, as well as tags and further extras
const scope = Sentry.getCurrentScope();
scope.setExtra('battery', 0.7);
scope.setTag('user_mode', 'admin');
scope.setUser({ id: '4711' });
// scope.clear();
});
// Add a breadcrumb for future events
Sentry.addBreadcrumb({
message: 'My Breadcrumb',
// ...
});
// Capture exceptions, messages or manual events
Sentry.captureMessage('Hello, world!');
Sentry.captureException(new Error('Good bye'));
Sentry.captureEvent({
message: 'Manual',
stacktrace: [
// ...
],
});