lok*_*oki 2 ios firebase crashlytics swift firebase-crash-reporting
如何使用Firebase崩溃报告在iOS上报告非致命异常?在Android中,我们可以这样做:
FirebaseCrash.report(new Exception("My first Firebase non-fatal error on Android"));
Run Code Online (Sandbox Code Playgroud)
upp*_*t99 14
因此,接受的答案不再正确。可以使用以下 Firebase Crashlytics 方法记录非致命异常:
Crashlytics.crashlytics().record(error: error)
Run Code Online (Sandbox Code Playgroud)
从文档:
这允许您记录由 NSError 对象描述的非致命事件。这些事件将与崩溃类似地分组和显示。请记住,这种方法可能很昂贵。此外,在您的应用程序生命周期中可以记录的 NSError 总数受固定大小的循环缓冲区的限制。如果缓冲区溢出,则丢弃最旧的数据。错误会在您的应用程序随后启动时转发给 Crashlytics。
用法示例:
let userInfo: [String: String] = [
"deviceId": "someDeviceId",
"localizedDescription": yourException.localizedDescription,
"anotherKey": "anotherValue"
]
let domain = "METHOD: some/domain/that/just/had-an-exception"
let code = 404
let error = NSError(domain: domain, code: code, userInfo: userInfo)
Crashlytics.crashlytics().record(error: error)
Run Code Online (Sandbox Code Playgroud)
domain在 Firebase 中使用的一些漂亮的标识符(例如方法 + 请求路径)在哪里,code是异常的状态代码(此处为 404),userInfo附加数据被转换为键值对并显示在个别问题。
注意:记录的错误按 NSErrordomain和code(与致命错误不同,后者在 Firebase 中按其堆栈跟踪分组)。
Firebase 中的示例输出Console > Crashlytics:
控制台中的问题详细信息页面(显示userInfo键值对):
Jen的回答是正确的.不过,您可以考虑以下几种方法:
记录Firebase Analytics事件.虽然这不会为您提供从Firebase崩溃报告中获得的所有堆栈跟踪优点,但您至少可以跟踪特定异常随时间发生的频率.
使用此FIRCrashMessage()方法记下应用中发生的任何错误.您只会在崩溃报告中看到最终报告给Firebase崩溃报告的这些日志方法,但鉴于错误经常导致崩溃,这不是一个坏主意.
试试Crashlytics.他们有一种reportError()专门用于报告非致命错误的方法.在您的应用程序中继续使用Firebase的其他功能时,可以使用Crashlytics进行崩溃报告 - 这些日子都是同一家公司.:)
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |