HomeDocsReact NativeReport from a notification

Report from a notification

v1.9.0

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

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

On iOS, set and retain your existing UNUserNotificationCenter delegate before configuring BugScreen.

typescript
await BugScreen.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.

typescript
function onShowReportNotificationSelected() {
  BugScreen.showReportNotification();
}

function onHideReportNotificationSelected() {
  BugScreen.hideReportNotification();
}

Allow notifications

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

Android 13+ requests notification permission; older targets have OS-controlled prompt timing. iOS requests alert authorization without sound or badge access. Keep Notification Center enabled.

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.

typescript
await BugScreen.configure({
  apiKey: 'fb_your_api_key_here',
  showReportNotification: true,
  requestNotificationPermission: false,
});
BugScreen.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

Android shows a dismissible silent notification with Report bug and Record screen actions. iOS uses a passive notification without a sound, badge or foreground banner; touch and hold it for Make a bug report or Start screen recording. Focus, notification settings and the OS may suppress or move it.

The notification stays available while the notification shade or Notification Center covers the foreground app. It is removed in 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.

Capture attempts the original foreground app window when control returns 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 Android API 29+ or iOS 15+ with ReplayKit and a hardware H.264 encoder.

  1. Choose Record screen on Android or Start screen recording on iOS. Return to the app and accept OS consent 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.

Both platforms show recording indicators. Android full-display recording can include notifications and system UI. Protected 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, allow notifications when asked, then open the Android notification shade or iOS Notification Center. Check that the reporting notification appears.
  2. Tap the notification or choose its report action. Check the screenshot in the reporter and submit a test report.
  3. Choose Record screen on Android or Start screen recording on iOS, 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 the notification is missing on Android, check notification permission and the Bug reporting notification channel. On iOS, check permission, Notification Center settings and Focus. Return to the app after granting permission, or call showReportNotification() to restore a dismissed notification.