如何使用自定义属性对Crashlytics非致命异常报告进行分组/取消分组?

Bri*_*off 6 android crash-reports crashlytics crashlytics-android google-fabric

我将与服务器同步期间收到的错误发送给Crashlytics。这些错误主要包含有关不同数据冲突的信息。所有错误都包装到一个异常类中,该类具有apiErrorCode。我不能为每个错误创建单独的异常类,因为它们有很多。因此,我发送使用的所有此类异常Crashlytics.logException()都在仪表板上归为一个报告。因此,我必须去“所有会话”并在那里一个接一个地调查错误,这很不方便。另外,我无法关闭和锁定一些我不想在报告中看到的错误类型(例如某些预期的服务器错误)。是否可以手动设置Crashlytics分组策略(基于apiErrorCode我的情况)?

小智 6

如果您有来自一个堆栈跟踪的不同类型的异常,您可以通过向顶部添加另一个自定义元素来更改堆栈跟踪:

public class CustomException extends Exception {

    public CustomException(String message, int lineNumber) {
        super(message);
        StackTraceElement[] stackTrace = getStackTrace();
        StackTraceElement[] newStackTrace = new StackTraceElement[stackTrace.length + 1];
        System.arraycopy(stackTrace, 0, newStackTrace, 1, stackTrace.length);
        newStackTrace[0] = new StackTraceElement("className", "methodName", "fileName", lineNumber);
        setStackTrace(newStackTrace);
    }
}
Run Code Online (Sandbox Code Playgroud)