获取更多动态,关注公众号:黑客下午茶
User Feedback
当用户遇到错误时,Sentry 可以收集其他反馈。当您通常可以呈现简单的错误页面(经典的500.html
)时,这种类型的反馈非常有用。
要收集 feedback,请使用可嵌入的 JavaScript widget,该小部件将请求并收集用户的姓名,电子邮件地址以及发生的情况的描述。提供反馈后,Sentry 会将反馈与原始事件配对,从而使您对问题有更多见解。
下面的屏幕截图提供了 User Feedback 小部件的示例,尽管您的个性化可能因您的自定义而有所不同:
Collecting Feedback
要集成 widget,您需要运行 2.1 版或更高版本的 JavaScript SDK。该 widget 将使用您的公共 DSN 进行身份验证,然后传递在后端生成的 Event ID。
如果您希望使用 widget 的替代产品,或者没有 JavaScript 前端,则可以使用 User Feedback API。
确保您有可用的 JavaScript SDK:
Copied
<script
src="https://browser.sentry-cdn.com/6.0.2/bundle.min.js"
integrity="sha384-mPF153CKKRhOGUecfj8Bo9gMzP/39GkWXC498PTR2t9NU6SRnQQpCM2b3hiUTsEo"
crossorigin="anonymous"
></script>
如果您使用的是 React 或 Angular 之类的框架,则收集用户反馈的最佳位置是您的错误处理组件。(有关示例,请参阅特定于平台的文档。)如果您不使用框架,则可以在发送事件之前使用 beforeSend
收集反馈:
Copied
<script>
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
beforeSend(event, hint) {
// Check if it is an exception, and if so, show the report dialog
if (event.exception) {
Sentry.showReportDialog({ eventId: event.event_id });
}
return event;
},
});
</script>
Customizing the Widget
您可以根据组织的需要自定义窗口小部件,尤其是为了本地化目的。所有选项都可以通过 showReportDialog
调用传递。
Sentry 的自动语言检测 override(例如 lang=de
)
Param | Default |
---|---|
eventId | 手动设置事件的ID。 |
dsn | 手动设置要报告的dsn。 |
user | 手动设置 user data [具有下面列出的 key 的对象]。 |
user.email | 用户的电子邮件地址。 |
user.name | 用户名。 |
lang | [automatic] – 覆盖 Sentry 的语言代码 |
title | 看来我们遇到了问题。 |
subtitle | 我们的团队已收到通知。 |
subtitle2 | 如果您想提供帮助,请告诉我们下面发生的情况。 – 在小屏幕分辨率下不可见 |
labelName | 名称 |
labelEmail | |
labelComments | 发生了什么? |
labelClose | 关闭 |
labelSubmit | 提交 |
errorGeneric | 提交报告时发生未知错误。 请再试一次。 |
errorFormEntry | 有些字段无效。请更正错误,然后重试。 |
successMessage | 您的反馈已发送。 谢谢! |
onLoad | n/a |
You can edit this page on GitHub.
- Package:
- npm:@sentry/react-native
- Version:
- 2.1.1
- Repository:
- https://github.com/getsentry/sentry-react-native