Анализ крэшей
AppMetrica бесконфликтно работает с другими библиотеками, которые собирают и обрабатывают крэши. Если вы используете такие библиотеки, произведите инициализацию AppMetrica после установки данных библиотек.
Примечание
Символизация и деобфускация крэшей не производятся библиотекой. Данные операции выполняются на сервере или стороне клиента.
Для загрузки mapping-файлов в AppMetrica используется AppMetrica Gradle Plugin. Он автоматически загружает mapping и SO-файлы при сборке приложения. Подробнее в разделе Загрузка mapping-файлов и отладочных символов на Android.
Для автоматического сбора сведений об аварийных остановках приложения AppMetrica использует стандартный обработчик Thread.UncaughtExceptionHandler. Если вы используете обработчик аварийных остановок непосредственно в приложении, используйте следующий пример реализации корректной обработки данных:
val previousUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler()
// Creating a new handler.
val uncaughtExceptionHandler = Thread.UncaughtExceptionHandler { thread, exception ->
try {
// Put your logic here.
} finally {
// Sending a message about an app crash to the system handler.
previousUncaughtExceptionHandler?.uncaughtException(thread, exception)
}
}
// Setting the default handler.
Thread.setDefaultUncaughtExceptionHandler(uncaughtExceptionHandler)
final Thread.UncaughtExceptionHandler previousUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
// Creating a new handler.
Thread.UncaughtExceptionHandler uncaughtExceptionHandler = new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(@NotNull Thread thread, @NotNull Throwable exception) {
try {
// Put your logic here.
} finally {
// Sending a message about an app crash to the system handler.
if (previousUncaughtExceptionHandler != null) {
previousUncaughtExceptionHandler.uncaughtException(thread, exception);
}
}
}
};
// Setting the default handler.
Thread.setDefaultUncaughtExceptionHandler(uncaughtExceptionHandler);
Так вы, обработав исключение самостоятельно, передаете его дальше и AppMetrica сможет отправить сведения о нем.
Если вы хотите передать дополнительную информацию об аварийном отключении приложения, используйте данный пример до инициализации библиотеки в приложении.
Узнайте больше
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.