Использование Java (android, но это вопрос Java). Я создал обработчик исключений по умолчанию в классе приложения, например, более или менее, который был взят из некоторого SO резьба:Crashlytics в Android - как фиксировать все исключения/сбои в одном месте
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
AppInitialization();
}
private void AppInitialization() {
defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(_unCaughtExceptionHandler);
}
private UncaughtExceptionHandler defaultUEH;
// handler listener
private Thread.UncaughtExceptionHandler _unCaughtExceptionHandler = new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
ex.printStackTrace();
// TODO handle exception here
}
};
}
Позволяет рассказать о том, что моя цель. Мне нужно записать дополнительную информацию для краш-отчетов crashLytics. поэтому в любое время возникает исключение hook uncaughtException (Thread thread, Throwable ex). Я предполагаю, что это будет работать для сбоев и исключений (не уверен).
3 вопроса по этому поводу:
это повлияет как crashLytics работает с им overrding обработчик исключений по умолчанию.
Будет ли это позволять приложению продолжать - я не хочу этого. Я хочу только зарегистрировать исключение в другом месте и продолжить его, как будто defaultexceptionHandler не существует. В противном случае регрессия QA будет нелегко увидеть ошибки, чтобы мы могли их исправить. Если я вызову defaultUEH.uncaughtException (поток, ex) изнутри uncaughtException (thread, ex), он будет продолжать цикл?
Какой поток связан с setDefaultUncaughtExceptionHandler? это работает для всех потоков, например, или только для основного потока?
Чтобы быть ясным, мне нужен способ отправить дополнительную информацию о каждом сбое/исключении crashlytics. Как ?
ОБНОВЛЕНИЕ: Я вижу here, что кто-то нашел решение, но используя этот метод, он также делает крашетики сообщать о фатальных проблемах?
Просто интересно - какая дополнительная информация вам нужна? – maxoumime
Я хочу отправить бизнес-логику с крахом. Например, приложения, такие как (токены, UUID, текущая вкладка), могут упростить воссоздание проблемы. – j2emanue
Вижу, вы считали использование 'Crashlytics.log'?Таким образом, вы можете подготовить журналы, которые будут отправлены с крахом, такие как поведение пользователя в приложении, действия, которые он открыл, вкладки, которые он выбрал ... Просто мысль – maxoumime