Flutter - Sentry如何在调试模式下发送事件和停止发送
Posted
技术标签:
【中文标题】Flutter - Sentry如何在调试模式下发送事件和停止发送【英文标题】:Flutter - Sentry how to send event and stop sending in debug mode 【发布时间】:2021-12-16 04:32:08 【问题描述】:如何在 Sentry 中发送特定信息?文档中有事件,但是如何正确使用它们以及在哪里使用它们(例如:发送带有错误的用户电子邮件)?
Sentry 提供了这个源代码,但我必须在哪里使用它? :
Sentry.configureScope(
(scope) => scope.user = SentryUser(id: '1234', email: 'jane.doe@example.com'),
);
还有如何在调试模式下停止发送报告?
【问题讨论】:
【参考方案1】:只是添加一个简单的方法来为将来的任何人禁用debugMode
中的报告:
如果SentryFlutter.init
中的dsn
不在Release
或Profile
中,则将空字符串传递给它。
kDebugMode
常量在导入Foundation
时可用
await SentryFlutter.init(
(options)
options.dsn = kDebugMode ? '' : sentryUrl;
,
appRunner: () => runApp(MyApp()),
);
【讨论】:
【参考方案2】:@Rock 设置用户取决于你自己的业务逻辑,唯一重要的是调用Sentry.configureScope(...)
初始化SDK,而不是那个,任何地方都可以。
对于在调试模式下不发送事件,有很多方法可以做到,您可以在调试模式下不初始化SDK,或者您可以在调试模式下过滤事件https://docs.sentry.io/platforms/flutter/configuration/filtering/
【讨论】:
嗨@Manoel 感谢您的回复,我在初始化哨兵后将 Sentry.configureScope(...) 放在了主目录中,但不幸的是它没有工作。在哨兵面板中仍然显示用户未知 我注意到我试图在用户初始化之前发送用户数据,所以我把这个方法放在用户初始化之后并且它工作了。非常感谢以上是关于Flutter - Sentry如何在调试模式下发送事件和停止发送的主要内容,如果未能解决你的问题,请参考以下文章
Flutter如何调试应用Dart Observatory 以及调试模式断言
如何在 Android Studio 中为 Flutter 上的小部件测试进入调试模式?
FlutterFlutter 混合开发 ( Dart 代码调试 | Flutter 单独调试 | 混合模式下 Flutter 调试 )