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 12 and newer:
yarn add @sentry/capacitor @sentry/angular-ivy --exact
# Angular 10 and 11:
yarn add @sentry/capacitor @sentry/angular --exact
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
Sentry.configureScope(scope => {
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: [
// ...
],
});