我需要使用@sentry/react-native 在我的模拟器中打开用户反馈窗口。
我已经厌倦了在我的 App.js 中添加 Sentry.showReportDialog()。
但它不起作用,我得到了一个未定义的错误。
谁能建议在@sentry/react-native 中打开用户反馈窗口的最佳做法是什么?
我需要使用@sentry/react-native 在我的模拟器中打开用户反馈窗口。
我已经厌倦了在我的 App.js 中添加 Sentry.showReportDialog()。
但它不起作用,我得到了一个未定义的错误。
谁能建议在@sentry/react-native 中打开用户反馈窗口的最佳做法是什么?
我认为反馈窗口仅适用于浏览器,您可以在此线程中阅读 https://github.com/getsentry/sentry-react-native/issues/500作为一个选项,您可以通过反馈 API 放置它并制作自己的全局模式/警报
Sentry.init({
dsn: 'key',
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;
}
});
sentry api 反馈示例
let endpoint = 'https://sentry.io/api/0/projects/{your_organization_slug}/{your_project_slug}/user-feedback/'
let params = {
event_id: ...,
name: 'John Smith',
email: 'johnsmith@example.com',
comments: 'This app sucks'
}
try {
await fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(params)
})
console.log('Feedback submitted!')
} catch (error) {
console.error(error)
}