HomeDocsiOSReport from a notification

Report from a notification

v1.8.0

Make a screenshot report or start a screen recording from a notification.

Enable showReportNotification in your SDK initialization. It defaults to false and works independently of screenshot detection.

If your app uses a UNUserNotificationCenter delegate, set it before configuring BugScreen and keep it alive.

swift
BugScreenSDK.configure(
    apiKey: "fb_your_api_key_here",
    showReportNotification: true
)

Show or hide it in code

The configuration sets initial visibility. Call showReportNotification() to show it even if the initial option was false or the tester dismissed it. Call hideReportNotification() to hide it until explicitly shown again.

Calls before initialization do nothing. Permission requests wait for a foreground app screen.

swift
@MainActor
func onShowReportNotificationSelected() {
    BugScreenSDK.showReportNotification()
}

@MainActor
func onHideReportNotificationSelected() {
    BugScreenSDK.hideReportNotification()
}

Allow notifications

Enabling the reporting notification or calling showReportNotification() requests notification permission by default. Permission applies to all notifications from your app.

BugScreen requests alerts without sound or badge access. Keep Notification Center enabled in system settings.

Set requestNotificationPermission: false during configuration, or requestPermission: false on the show call, to request authorization yourself. Denial does not cause automatic retries or open Settings.

swift
BugScreenSDK.configure(
    apiKey: "fb_your_api_key_here",
    showReportNotification: true,
    requestNotificationPermission: false
)

BugScreenSDK.showReportNotification(requestPermission: false)

Use existing app notifications

After configuring BugScreen, replacing the notification delegate or the entire category set can disable the reporting notification or its actions.

What testers see

iOS uses a passive notification in Notification Center, with no sound, badge or foreground banner. Tap its body to report, or touch and hold it to choose Make a bug report or Start screen recording. It is dismissible; Focus, notification settings and iOS may suppress it or change its placement.

The notification stays available while you open Notification Center over the app. It is removed when the app goes into the background and during recording preparation, capture and reporting.

Swiping away the notification keeps it hidden until your app calls showReportNotification() or initializes the SDK with the option enabled again.

Tapping the notification attempts to attach the current app window before opening the reporter. If capture is unavailable or incomplete, the reporter opens without a screenshot. Review the attachment before submitting.

The screenshot reflects the app window when iOS returns control to the app. It can differ from the last frame you saw and may omit protected or separately rendered content.

Start screen recording

Recording requires iOS 15 or later and a hardware H.264 encoder.

  1. Choose Start screen recording from the notification. Return to the app and accept the system capture prompt when shown.
  2. Use the floating Stop recording control in the app to finish. It shows elapsed time and can be moved while you reproduce the bug.
  3. Preview or remove the video in the reporter before submitting. A recording report does not add a screenshot automatically.

The floating control appears even when initially off or previously hidden. Cancelling recording or closing the report restores its previous visibility.

iOS displays its recording indicator. Protected or unsupported content may be missing.

Recordings use your floating-button quality settings and contain no audio. Capture stops at the shorter of the video-duration limit and 60 seconds.

Backgrounding or locking stops capture. Any available clip opens in a report when you return.

Floating button recording guide

Control the floating button in code

  • Calling showFloatingButton() or hideFloatingButton(), or dismissing the control, overrides visibility restoration.
  • Calling hideFloatingButton() during recording stops capture and opens the video report.

Try a report

  1. Open the app and select Allow when asked for notification permission. Open Notification Center over the app and check that the reporting notification appears.
  2. Tap the notification, or touch and hold it and choose Make a bug report. Check the screenshot in the reporter and submit a test report.
  3. Choose Start screen recording, record a short interaction, then use Stop recording. Play the attached video and close the report. Check that the floating button returns to its previous visibility.

If it is missing, check notification permission, Notification Center settings and Focus. Return to the app after granting permission. If you dismissed it or iOS removed it, call showReportNotification() again.