在 iOS 上,可以使用 recordError(error) 在 Crashlytics 上记录非致命错误,但显然此功能不适用于 Android。
我发现的唯一替代方法是使用 logException(e)。 我管理应用程序上的错误,并且希望在返回具体错误代码时进行记录。因此,在 Crashlytics 上,我希望 errorCode 引用非致命错误。但是使用 logException(e) 方法,错误将由调用 logException(e) 的方法引用。
我怎样才能做到这一点?
为了报告非致命问题,我所做的是使用以下代码记录异常(请记住,您可以抛出
Exception
的任何子类):
Crashlytics.logException(new Exception("My custom error message"));
对于那些已经从 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")
记录非致命事件:
try {
myMethodThatThrows();
} catch (Exception e) {
Crashlytics.logException(e);
// handle your exception here!
}
添加更多消息:
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);
FirebaseCrashlytics.instance.log('Here is My custom Error for it ');