Share on Twitter
Share on Facebook
Share on HackerNews

Close the Loop with User Feedback

Everyone’s software crashes. As an engineer, you don’t feel your users’ frustration unless they reach out to customer support, write bad reviews, or tweet about it. This feedback is often lacking relevant information to resolve the issue.

In some cases, you can re-engage with the customer, but that process is time-consuming and inefficient. Another option would be to examine the crash reports, but sometimes they don’t give sufficient insight to fix the problem.

Wouldn’t it be nice to link users’ feedback and crash reports to fix issues even faster and keep your users happy? We couldn’t agree more. So a while back, we introduced User Feedback for our JavaScript SDK:

user-feedback

JavaScript developers shouldn’t be the only ones who get all the cool toys. We’re extending the user feedback feature to our Apple, Java, Android, and .NET SDKs and publishing a simple API to fully customize the feedback form.

The User Feedback API

The user feedback API provides the ability to collect user feedback when an event occurs. Sentry pairs the feedback with the original event, giving you additional insight into issues. For creating a user feedback object, Sentry needs the eventId to associate the user feedback to the corresponding event. To get the eventId, for example, you can use the beforeSend or the return value of the methods capturing an event.

let eventId = SentrySDK.capture(error: error)

let userFeedback = UserFeedback(eventId: eventId)
userFeedback.comments = 
  "This happens every time I open the app and I'm in flight mode."
userFeedback.email = "john.doe@example.io"
userFeedback.name = "John Doe"
SentrySDK.capture(userFeedback: userFeedback)

For applications built in the Apple ecosystem, to capture user feedback tied to a crash, use the SentryOptions.onCrashedLastRun callback. This callback gets called shortly after the initialization of the SDK when the last program execution terminated with a crash. You can use this callback for popping up your UI, ask the user and then call SentrySDK.capture(userFeedback: userFeedback). FYI - this callback is not yet available on Android or .NET.

SentrySDK.start { options in
    options.dsn = "YOUR_DSN"
    options.onCrashedLastRun = { event in
        // open your UI and capture the feedback with the event ID
    }
}

Viewing User Feedback

To see your user’s feedback, you can navigate to User Feedback on the left side of your menu. This displays all the feedback for your current selected project or all projects in your organization.

user-feedback-in-product

You can also see the feedback related to a single issue by clicking on the User Feedback tab.

user-feedback-tab

Check out our docs for Apple, Android, Java, Xamarin, and .NET for more details.

Your code is broken. Let's Fix it.
Get Started

Do you like corporate newsletters?

Neither do we. Sign up anyway.

© 2021 • Sentry is a registered Trademark
of Functional Software, Inc.