Skip to main content

Silent reports

This page explains how to submit yourself a bug report from the background, without interrupting your end user whatsoever.


You can send silent reports to yourself by calling the Shake.silentReport method anywhere after Shake.start.

Silent report can be configured with the Description just like the regular report and with additional Attached files.

SHKShakeReportConfiguration determines what kind of data is included in the report.


Silent reports will also attach files returned by the onPrepareReportData closure and Automatic Screen Recording file if the feature is turned on.

let conf = ShakeReportConfiguration()
conf.includesScreenshotImage = true
conf.includesBlackBoxData = true
conf.includesActivityHistoryData = true
let fileAttachBlock: () -> [ShakeFile] = {
let file = ShakeFile(name: "myFile.log", data: Data())
return [file]
Shake.silentReport(description: "Description #tag1 #tag2", fileAttachBlock: fileAttachBlock, reportConfiguration: conf)

Show the Ticket submitted message

Silent reports are sent without showing the Shake.

They can be used in the situations where showing the Shake is not an option but user input and attached files can still be obtained.

If your app user is aware of the silent report being sent, Shake can display a small and non-intrusive message notifying the user that the report was sent.

To display a small toast after sending the report, follow to below example to change the SHKShakeReportConfiguration and use that configuration object when sending your silent report with the Shake.silentReport method.

let reportConfiguration = ShakeReportConfiguration()
reportConfiguration.showsToastMessageOnSend = true