在 iOS 上,可以使用recordError(error)在 Crashlytics 上记录非致命错误,但显然此功能不适用于 Android。
我发现的唯一选择是使用logException(e)。我管理我的应用程序上的错误,并且我想在返回特定错误代码时记录。因此,在 Crashlytics 上,我希望 errorCode 引用非致命错误。但是使用logException(e)方法时,调用logException (e)的方法会引用错误。
我怎样才能做到这一点?
在 iOS 上,可以使用recordError(error)在 Crashlytics 上记录非致命错误,但显然此功能不适用于 Android。
我发现的唯一选择是使用logException(e)。我管理我的应用程序上的错误,并且我想在返回特定错误代码时记录。因此,在 Crashlytics 上,我希望 errorCode 引用非致命错误。但是使用logException(e)方法时,调用logException (e)的方法会引用错误。
我怎样才能做到这一点?
为了报告非致命问题,我所做的是使用以下代码记录异常(请记住,您可以抛出 的任何子类Exception
):
Crashlytics.logException(new Exception("My custom error message"));
您还可以使用 Crashlytics 以下功能来提供更多信息。
<strong>记录非致命事件:
try {
myMethodThatThrows();
} catch (Exception e) {
Crashlytics.logException(e);
// handle your exception here!
}
<strong>添加更多消息:
Crashlytics.log(int priority, String tag, String msg);
Crashlytics.log("Higgs-Boson detected! Bailing out...");
您还可以提供一些用户信息:
void Crashlytics.setUserIdentifier(String identifier);
void Crashlytics.setUserName(String name);
void Crashlytics.setUserEmail(String email);
对于那些从 Fabric-Crashlytics SDK迁移到 Firebase-Crashlytics SDK 的人来说,记录非关键异常或在 try-catch 块中捕获的异常的新方法是这样的 -
FirebaseCrashlytics.getInstance().recordException(e)
要在崩溃报告中添加其他数据字段,您可以在记录异常之前使用键值对,如下所示
val crashlytics = FirebaseCrashlytics.getInstance()
crashlytics.setCustomKey("position", 1)
crashlytics.setCustomKey("marker_mode", "hidden")
crashlytics.setCustomKey("direction_shown", true)
要添加一些日志消息,
FirebaseCrashlytics.getInstance().log("Reached breakpoint 2")