Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Отчеты о сбоях с Crashlytics

by
Difficulty:BeginnerLength:MediumLanguages:

Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)

В Android существует высокая вероятность сбоя вашего приложения даже после его ручного и автоматического тестирования. Это может быть связано с такими факторами, как несовместимость с различными уровнями API, размерами экрана, памятью телефона, доступностью аппаратных датчиков и настройкой поставщиков в соответствии с их индивидуальными устройствами. Crashlytics поможет вам в диагностике этих проблем.

Сбои делают ваших пользователей грустными и сердитыми. Они могут даже удалить приложение, если такое часто происходит. Затем дадут вашему приложению плохую оценку, отрицательный отзыв в магазине, а затем установят приложение вашего конкурента! На этом уже переполненном и конкурентном рынке приложений, очень важно для успеха вашего приложения, чтобы ваши пользователи были довольны.

Практически невозможно чтобы в вашем приложении не было сбоев, поэтому важно минимизировать количество падений приложения. Во время разработки и тестирования вы можете и не столкнуться с определенным сбоем, но в производстве, когда ваши пользователи будут активно его использовать, вы начнете видеть сбои. Использование надежного и мощного инструмента для создания отчетов о сбоях крайне важно для сбора информации о сбоях приложения, что даст вам представление о том, как вы можете исправить эту проблему и, чтобы ваши пользователи остались довольны.

В этом учебном пособии я покажу вам, как использовать Crashlytics, бесплатное и мощное, но легкое решение для создания отчетов о сбоях, которое входит в комплект инструментов разработчика Fabric от Twitter. Мы создадим простое приложение, которое выйдет из строя при нажатии на кнопку, чтобы мы могли получить информацию об падении с помощью Crashlytics.

1. Зачем использовать Crashlytics?

Вот несколько причин, по которым вы можете захотеть его использовать:

  • Простота настройки
  • Неограниченное количество приложений, пользователей и сбоев
  • Оповещения в реальном времени
  • Отчеты о сбоях в реальном времени
  • Углубленный анализ сбоев
  • Отслеживание исключений
  • Простота отправки отчета о сбоях
  • Распространение бета-версии приложения
  • Бесплатное мобильное приложение для мониторинга вашего приложения на ходу и получения предупреждений в реальном времени о важных проблемах
  • Бесплатно!

2. Создаем проект в Android Studio

Сначала запустите Android Studio и создайте новый проект «CrashlyticsTutorial» с пустым активити, с названием MainActivity.

Create a new activity

3. Установка плагина Fabric

Для того чтобы интегрировать Crashlytics в ваше приложение, сначала вы должны создать учетную запись в Fabric. Поэтому заполните необходимые данные и вам будет выслано письмо с подтверждением.

Sign up for Fabric

Вы можете либо интегрировать Fabric с вашим проектом, либо загрузить плагин Android Studio, который автоматически изменит файлы, необходимые для интеграции, либо вручную изменить файл build.gradle. В данном уроке мы будем использовать самый простой способ, то есть плагин.

После нажатия ссылки для подтверждения вам будет предложено установить плагин:

Шаг 1

Выберите Android в качестве платформы.

Select platform to install

Шаг 2

Для пользователей Mac: выберите Preferences… в меню Android Studio / IntelliJ. Пользователи Windows и Linux: выберите Settings в меню File.

Open Android Studio SettingsPreferences

Шаг 3

Выберите Plugins, нажмите кнопку Browse Repositories и ищите «Fabric for Android».

Android Studio browse plugins

Шаг 4

Нажмите кнопку Install, чтобы загрузить и установить плагин.

Install plugin
Final Fabric integration with Android studio

4. Интеграция Crashlytics

Шаг 1

Чтобы начать интеграцию Crashlytics в свой проект Android Studio, введите свои учетные данные для входа.

Fabric welcome screen in Android Studio

Шаг 2

Выберите Android проект CrashlyticsTutorial для и нажмите кнопку Next.

Select project to integrate with Fabric

Шаг 3

Fabric отобразит список всех зарегистрированных вами организаций, поэтому выберите организацию, с которой вы хотите связать приложение, и нажмите кнопку Next.

Select organisation

Шаг 4

Fabric затем перечислит все свои наборы. Поскольку это учебник Crashlytics, выберите Crashlytics и нажмите кнопку Next.

Select kit

Шаг 5

Нажмите кнопку Install.

Install Crashlytics

Fabric хочет вносить изменения в файлы build.gradle, MainActivity.java и AndroidManifest.xml, поэтому нажмите кнопку Apply, чтобы изменения произошли.

Final installation screen

Шаг 6

Создайте и запустите свое приложение, чтобы мы могли убедиться, что все настроено правильно. Если ваше приложение было успешно настроено, вы сразу же получите электронное письмо на адрес электронной почты, который вы использовали для регистрации на Fabric.

Email received from Fabric

5. Просмотр панели инструментов

Теперь, когда Crashlytics был успешно интегрирован в наш проект, посетите главную панель, чтобы увидеть наше приложение: CrashlyticsTutorial.

Fabric dashboard

При нажатии на проект откроется панель Crashlytics, в которой будут перечислены жалобы (issues). Пока у нас их нет; позже мы вернемся к этой панели, когда мы сознательно создадим сбой программы.

Crashlytics dashboard

Внутри панели проекта Crashlytics вы получите общий обзор сбоев. Вы можете фильтровать сбои по версиям приложений, событиям, дням, статусу (открытые, закрытые или все), устройству, ОС или активности пользователей (хотя для использования этой функции необходимо включить набор Answers). Вы также можете увидеть общее число сбоев, не-критичных, пользователей, у которых произошли сбои и т.д.

Набор ответов (Answers kit) предоставляет статистику в реальном времени о том, как используется ваше приложение, включая номера активных пользователей, продолжительность сеанса, рейтинг стабильности и продолжительность использования.

6. Умышленное создание сбоя

Понимание разницы между сбоями и жалобами

Разница между сбоями и жалобами (issues) заключается в том, что Crashlytics совмещает похожие сбои с жалобами (определенные строки кода, которые, видимо, вызывают одну и ту же проблему). Например, если у вас есть 100 000 сообщений о падении вашего приложения, это может быть связано с 60 жалобами.

Давайте намеренно создадим сбой и просмотрим зарегистрированную жалобу на панели инструментов.

Создание макета

Вот файл макета MainActivity:

Метод crashNow()

Измените класс MainActivity, чтобы запустить метод crashNow(), который вызовет исключение RuntimeException при нажатии на кнопку.

Авария!

Запустите приложение и нажмите кнопку вызова сбоя.

app crashing in emulator

7. Обзор панели инструментов

После успешного сбоя перейдите к панели, чтобы увидеть проблему, которая была мгновенно зарегистрирована. Вы также получите уведомление по электронной почте от Fabric об этом сбое. Пока что на панели инструментов у нас есть одна проблема, одна авария и один пострадавший пользователь. Вы можете найти конкретную проблему с названием файла, названием метода, номером строки или примечаниями к выпуску (только для однократного использования).

Crashlytics crash overview screen

Когда вы нажимаете на проблему, она открывает страницу, на которой вы получаете подробный отчет об аварии. Страница собирает все произошедшие сбои.

Crashlytics in-depth overview

Основные части этого пользовательского интерфейса:

1

Название проекта и пакета, включая номер строки, в которой произошел сбой

2

Фильтр недавних сбоев

3

Общее количество сбоев

4

Общее количество пользователей, пострадавших в результате сбоя

5

Переключатель, чтобы отметить проблему закрытой или открытой

6

Диаграмма количества аварий в день

7

Кнопка для распространения проблемы через Twitter или с членами вашей команды

8

Приблизительынй процент устройств с авариями

9

Процент сбоев, которые произошли, когда приложение было в активно

10

Процент устройств с авариями, которые были рутованы

11

Распределение названий моделей устройств со сбоями

12

Распределение ОС пострадавших устройств

13

Загрузить трассировку стека исключений в виде .txt файла

14

Расширяемое представление для трассировки стека

15

Просмотр детального отчета о каждой отдельной аварии.

На этой странице вы также можете просматривать и писать заметки о каждом сбое.

8. Другие особенности Crashlytics

Приложение Fabric для мобильных устройств

В магазине Fabric также есть бесплатное мобильное приложение, доступное в Google Play Store. С мобильным приложением вы получаете мгновенное уведомление при каждом критическом сбое, а также некоторые данные, позволяющие понять проблему: распределение “пострадавших” устройств и платформ, трассировка полного стека, количество пострадавших пользователей, заметки о проблеме, и возможность поделиться проблемой с членами команды. Все эти данные обновляются в режиме реального времени.

Fabric mobile app screen

Журнал пойманных исключений

Crashlytics также позволяет вам регистрировать исключения, попадающие в блок catch, используя Crashlytics.logException(Exception).

Все зарегистрированные исключения будут отображаться в панели инструментов Fabric, как «некритические» проблемы. Crashlytics обрабатывает исключения в выделенном фоновом потоке, поэтому регистрация исключений не будет блокировать пользовательский интерфейс приложения, а влияние на производительность вашего приложения будет небольшим.

Пользовательское журналирование

Когда вы записываете исключение, вы можете создать собственное сообщение в журнале, связанное с вашими данными о сбоях, и оно будет отображаться на панели данных Crashlytics для этого конкретного сбоя.

Помимо появления в вашем отчете, он также будет добавлен в Android LogCat. Чтобы этого не происходило, вместо этого используйте:

Как в примере ниже:

Logged message in dashboard

Уникальная идентификация пользователей

Чтобы однозначно идентифицировать конечного пользователя вашего приложения в приборной панели, для легкой отладки, Crashlytics имеет следующие методы:

Используйте Crashlytics.setUserIdentifier для предоставления идентификационного номера, токена или хэшированного значения, которое однозначно идентифицирует конечного пользователя вашего приложения без раскрытия или передачи его каких-либо персональных данных.

Бета-распределение

Если вы хотите, чтобы группа пользователей, участвовала в бета-тестировании вашего приложения, чтобы получить ранние отзывы, перед официальным релизом вашего приложения в паблик, у Crashlytics есть очень полезный бесплатный инструмент под названием Beta. Я не буду вдаваться в это здесь, но ознакомьтесь с официальными документами для получения дополнительной информации.

Отключить Crashlytics для отладочных сборок

Вы можете отключить Crashlytics для отладочных сборок, что ускорит процесс отладки.

Сначала добавьте это в свой файл build.gradle:

Затем отключите Crashlytics Kit во время выполнения.

Вывод

Crashlytics очень эффективен и полезен для эффективных отчетах о сбоях. В этом уроке вы узнали:

  • Как интегрировать Crashlytics в ваш проект Android
  • Какие представление о проблеме может дать вам панель инструментов Crashlytics
  • Как записывать обнаруженные исключения
  • Как вести пользовательские журналы
  • Как уникально идентифицировать пользователей для легкой отладки
  • Как отключить Crashlytics для отладочных сборок

Чтобы узнать больше о Crashlytics, вы можете обратиться к его официальной документации. Вы также можете ознакомиться с некоторыми из наших других обучающих программ по облачным сервисам для разработки Android.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.