Skip to content
7 changes: 7 additions & 0 deletions platform-includes/configuration/allow-urls/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
```dart {3}
await SentryFlutter.init(
(options) {
options.allowUrls = ["^https://sentry.com.*\$", "my-custom-domain"];
},
);
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```dart {10}
FutureOr<SentryEvent?> beforeSend(SentryEvent event, Hint hint) async {
if (event.throwable is DatabaseException) {
event = event.copyWith(fingerprint: ['database-connection-error']);
}
return event;
}
await Sentry.init(
(options) {
options.beforeSend = beforeSend;
},
);
```
11 changes: 11 additions & 0 deletions platform-includes/configuration/before-send-hint/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
```dart {7}
FutureOr<SentryEvent?> beforeSend(SentryEvent event, Hint hint) async {
return hint is MyHint ? null : event;
}
await SentryFlutter.init(
(options) {
options.beforeSend = beforeSend;
},
);
```
13 changes: 13 additions & 0 deletions platform-includes/configuration/before-send/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
```dart {9}
FutureOr<SentryEvent?> beforeSend(SentryEvent event, Hint hint) async {
// Modify the event here:
event = event.copyWith(serverName: null); // Don't send server names.
return event;
}
await SentryFlutter.init(
(options) {
options.beforeSend = beforeSend;
},
);
```
7 changes: 7 additions & 0 deletions platform-includes/configuration/deny-urls/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
```dart {3}
await SentryFlutter.init(
(options) {
options.denyUrls = ["^.*ends-with-this\$", "denied-url"];
},
);
```
9 changes: 9 additions & 0 deletions platform-includes/configuration/sample-rate/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
```dart
import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
// Capture only 25% of events
await SentryFlutter.init((options) => options.sampleRate = 0.25);
}
```
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
```dart
import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
await SentryFlutter.init(
(options) {
options.dsn = '___PUBLIC_DSN___';
options.attachViewHierarchy = true;
},
appRunner: () => runApp(MyApp()),
);
}
```dart {3}
await SentryFlutter.init(
(options) {
options.attachViewHierarchy = true;
},
appRunner: () => runApp(MyApp()),
);
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
```dart {7}
Breadcrumb? beforeBreadcrumb(Breadcrumb? breadcrumb, Hint hint) {
return 'a.spammy.Logger' == breadcrumb.category ? null : breadcrumb;
}

await SentryFlutter.init(
(options) {
options.beforeBreadcrumb = beforeBreadcrumb;
},
);
```
10 changes: 10 additions & 0 deletions platform-includes/set-fingerprint/basic/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
```dart
FutureOr<SentryEvent?> beforeSend(SentryEvent event, Hint hint) async {
if (event.throwable is DatabaseException) {
event = event.copyWith(fingerprint: ['database-connection-error']);
}
return event;
}

await SentryFlutter.init((options) => options.beforeSend = beforeSend);
```
10 changes: 10 additions & 0 deletions platform-includes/set-fingerprint/database-connection/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
```dart
FutureOr<SentryEvent?> beforeSend(SentryEvent event, Hint hint) async {
if (event.throwable is DatabaseException) {
event = event.copyWith(fingerprint: ['database-connection-error']);
}
return event;
}

await SentryFlutter.init((options) => options.beforeSend = beforeSend);
```
22 changes: 22 additions & 0 deletions platform-includes/set-fingerprint/rpc/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
```dart
class MyRpcException implements Exception {
final String function;
final int httpStatusCode;

MyRpcException(this.function, this.httpStatusCode);
}

FutureOr<SentryEvent?> beforeSend(SentryEvent event, Hint hint) async {
if (event.throwable is MyRpcException) {
final exception = event.throwable as MyRpcException;
event = event.copyWith(fingerprint: [
'{{ default }}',
exception.function,
exception.httpStatusCode.toString(),
]);
}
return event;
}

await SentryFlutter.init((options) => options.beforeSend = beforeSend);
```
26 changes: 26 additions & 0 deletions platform-includes/user-feedback/sdk-api-example/flutter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
```dart
// Option 1: Retrieving SentryId from beforeSend
SentryId sentryId = SentryId.empty();
await SentryFlutter.init((options) {
options.beforeSend = (event, hint) async {
sentryId = event.eventId;
return event;
};
});
// Option 2: Retrieving SentryId from the method capturing the event
SentryId sentryId = Sentry.captureMessage("My message");
// Option 3: Retrieving SentryId from the beforeSend callback
SentryId sentryId = Sentry.lastEventId;
final userFeedback = SentryUserFeedback(
eventId: sentryId,
comments: 'Hello World!',
email: '[email protected]',
name: 'John Doe',
);
Sentry.captureUserFeedback(userFeedback);
```
Loading