The iOS and Android SDKs include a native feedback form. It captures a screenshot of the screen the person was on, lets them pick one of your feedback boards, and sends the post to Userorbit with the app version, device and screen name attached.

Before you begin

  • Install the SDK: iOS or Android. On Android, the built-in form needs userorbit-android-ui.
  • Have at least one feedback board in Userorbit. The form lists the same boards your widget offers.
  • Call screen as people move through your app, so each post records the screen it came from.

Open the feedback form

// iOS
Userorbit.shared.showFeedback()
swift
// Android: pass the current activity
UserorbitUI.showFeedback(activity)
kotlin
iOS Send feedback form with a Board picker, a filled-in title and description, and a screenshot thumbnail with a Remove button
The feedback form on iOS. The screenshot shows the screen the person came from.

The person chooses a board, enters a title and an optional description, and taps Send. Send stays disabled until there's a title. The screenshot is taken just before the form opens. The person can remove it with Remove before sending.

To open the form without a screenshot, for example on screens that show payment details or health data, pass includeScreenshot: false (iOS) or includeScreenshot = false (Android).

What each post includes

FieldSource
Title and descriptionTyped by the person
BoardChosen in the form
ScreenshotThe current screen, unless removed or turned off
ScreenThe last name passed to screen
Device detailsScreen size and density, OS, language and time zone
AuthorThe identified person, if you called identify

Posts are recorded with the source mobile-sdk. Posts from the web widget and the portal use their own sources.

Build your own form

If you'd rather design the form yourself, call fetchFeedbackBoards to list boards, then submitFeedback with a FeedbackDraft. A draft takes a title, optional text, an optional board ID and an optional JPEG screenshot.

// iOS
Userorbit.shared.submitFeedback(
    FeedbackDraft(title: "Let me reorder tasks by dragging", text: details, boardId: board.id)
) { result in
    // result contains the new post ID or an error
}
swift

Limits

  • Android captures screenshots on Android 8.0 or later. On older versions the form opens without one.
  • The screenshot shows only your app's own window. System dialogs and other apps aren't captured.

Was this helpful?