Flutter - Sentry 如何在调试模式下发送事件和停止发送

Flutter - Sentry how to send event and stop sending in debug mode

如何在哨兵中发送特定信息?文档中有事件,但如何正确使用它们以及在何处使用它们(例如:向用户发送带有错误的电子邮件)?

Sentry 提供了此源代码,但我必须在哪里使用它? :

 Sentry.configureScope(
      (scope) => scope.user = SentryUser(id: '1234', email: 'jane.doe@example.com'),
    );

以及如何在调试模式下停止发送报告?

@Rock设置用户取决于你自己的业务逻辑,唯一重要的是Sentry.configureScope(...)初始化SDK之后调用,而不是那个,任何地方会工作。

对于在调试模式下不发送事件,有很多方法可以做到,你可以简单地在调试模式下不初始化SDK,或者你可以在调试模式下过滤事件https://docs.sentry.io/platforms/flutter/configuration/filtering/

只是为了在 debugMode 中为将来的任何人添加一个禁用报告的简单方法:

如果不在 ReleaseProfile 中,则将空字符串传递给 SentryFlutter.init 中的 dsn

kDebugMode 常量在导入时可用 Foundation

  await SentryFlutter.init(
    (options) {
      options.dsn = kDebugMode ? '' : sentryUrl;
    },
    appRunner: () => runApp(MyApp()),
  );

我只在应用程序处于发布模式时才初始化 Sentry。

if (kReleaseMode) {
  // Only enable Sentry in release builds.
  await SentryFlutter.init(
    (options) {
      options.dsn = 'https://<your DSN>';
    },
    appRunner: () => runApp(const MyApp()),
  );
} else {
  runApp(const MyApp());
}