Как я могу открыть окно обратной связи с пользователем в моем симуляторе с помощью @sentry/react-native
Мне нужно открыть окно обратной связи с пользователем в моем симуляторе, используя @sentry/react-native.
Я устал от добавления Sentry.showReportDialog() в свой App.js.
Но это не сработало, и я получил неопределенную ошибку.
Может ли кто-нибудь предложить, как лучше всего открыть окно обратной связи с пользователем в @ sentry / react-native?
2 ответа
Я думаю, что окна обратной связи предназначены только для браузеров, как вы можете прочитать в этой ветке 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;
}
});
Пример обратной связи с часовым 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)
}
Sentry.showReportDialog()
существует только в браузере SDK
Для отправки отзывов пользователей в React Native SDK используйтеSentry.captureUserFeedback(userFeedback)
подробности в Sentry docs.
import * as Sentry from '@sentry/react-native';
import { UserFeedback } from '@sentry/react-native';
const sentryId = Sentry.captureMessage('My Message');
// OR: const sentryId = Sentry.lastEventId();
const userFeedback: UserFeedback = {
event_id: sentryId,
name: 'John Doe',
email: 'john@doe.com',
comments: 'Hello World!',
};
Sentry.captureUserFeedback(userFeedback);
Чтобы узнать, как создать всплывающую форму обратной связи с пользователем, проверьте пример реализации приложения .