Open a native feedback form in iOS and Android apps that captures a screenshot, lets people pick a board, and records the screen and device.
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
screenas 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
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
| Field | Source |
|---|---|
| Title and description | Typed by the person |
| Board | Chosen in the form |
| Screenshot | The current screen, unless removed or turned off |
| Screen | The last name passed to screen |
| Device details | Screen size and density, OS, language and time zone |
| Author | The 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.