Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)
Сегодня свыше миллиарда людей используют устройства на базе Android и тысячи присоединяются к ним каждый день. Гарантировать, что все эти люди будут довольны вашим приложением это непростая задача.
Характеристики Android устройств сильно отличаются. Различия в уровнях API, размеров экрана, плотности пикселей и сенсоров доступных на устройстве. Хуже того, поставщики аппаратного обеспечения настраивают Android довольно обширно, часто вводя небольшие особенности, которые уникальны для их устройств.
С таким количеством переменных в игре, ваше приложение с легкостью может «упасть» на нескольких устройствах в некоторых ситуациях. Собирая и анализируя информацию об этих падениях, вы можете исправить ваше приложение, что сделает его более надежным, а ваших пользователей счастливыми.
В этом коротком совете, я покажу вам, как использовать Firebase в качестве решения сбора отчетов о падениях. Оно бесплатное, предлагает множество полезных функций и его легко встроить в любое Android приложение.
1. Создаем файл настроек Firebase
Каждый проект Android Studio который использует Firebase должен быть зарегистрирован с Google's Firebase console. После входа в консоль нажмите кнопку Create New Project (Создать новый проект), чтобы начать процесс регистрации.

В открывшемся диалоге, дайте проекту соответствующее имя и выберите страну в которой вы проживаете.

Затем, нажмите на кнопку Add Firebase to your Android app (Добавить Firebase в ваше приложение).

Теперь вас попросят ввести название пакета для Android приложения. Убедитесь, что указанное вами значение соответствует имени пакета, который используется в проекте Android Studio.

И наконец нажмите кнопку Add app (Добавить приложение). Теперь ваш браузер должен начать автоматическую загрузку файла с названием google-services.json, который содержит детали настроек — таких как, ID проекта Firebase, ключ API, и ID приложения — созданый специально для вашего приложения.
По завершению загрузки, переместите файл в каталог приложения (app) вашего проекта Android Studio.
2. Настройка вашего предложения
Чтобы иметь возможность использовать Firebase в вашем проекте Android Studio, вы должны добавить плагин Google Services Gradle, как зависимость в файл верхнего уровня build.gradle, который находится в корневой папке проекта.
buildscript { dependencies { classpath 'com.google.gms:google-services:3.0.0' } }
Кроме того, вы должны применить плагин Google Services Gradle. Поэтому добавьте следующую строку в конец файла build.gradle модуля app
:
apply plugin: 'com.google.gms.google-services'
Теперь вы можете добавить Firebase Crash Reporting SDK как зависимость compile
.
compile 'com.google.firebase:firebase-crash:9.4.0'
Это всё что нужно сделать. Начиная с этого момента, Firebase будет автоматически генерировать отчёт о падении, каждый раз когда ваше приложение аварийно завершается.
3. Создание отчёта о падении вручную
Приложения крашатся, когда они сталкиваются с не пойманными исключениями или ошибками. А как насчёт тех исключений, которые пойманы с использованием блоков try...catch
? Ну, Firebase не будет сообщать о них автоматически, потому что предполагается, что вы уже знаете о них. Тем не менее, иногда вы все равно можете увидеть их в своих отчетах.
Чтобы сгенерировать отчёт о падении вручную, вы должны использовать метод FirebaseCrash.report()
. Так как это всего лишь аргумент, он ожидает объект Throwable
. Поэтому, обычно его вызывают внутри блока catch
. Следующий фрагмент кода показывает, как использовать его при обработке IOException
:
try { FileInputStream is = new FileInputStream("/non-existent/file"); int c = is.read(); } catch(IOException e) { FirebaseCrash.report(e); // Generate report }
Вот так выглядит отчёт о падении в консоли Firebase:

Как вы видите, подобные отчеты о падениях группируются в кластер. Кликнув на кластер и нажав кнопку View Details, вы можете посмотреть каждый отдельный отчёт о падении, который находится внутри.

4. Добавляем сообщение к отчёту о падении
Хотя отчеты о падениях Firebase содержат трассировку стека и множество диагностических данных, иногда вам может быть интересно узнать более конкретные сведения об условиях, которые привели к сбою приложения. Например, вы захотите узнать конкретное значение какой-то важной локальной переменной.
Простым способом предоставления таких деталей в ваших отчётах, является генерирование пользовательских сообщений используя метод FirebaseCrash.log()
, в который нужно передать строку, как единственный аргумент.
Этот фрагмент кода сгенерирует пользовательское сообщение:
FirebaseCrash.log("This is a custom log message");
Обратите внимание, что настраиваемое сообщение журнала включается только в последующий отчет о сбое.
В консоли Firebase, вы можете увидеть сообщение в конце отчёта о падении.

Заключение
Падения нельзя игнорировать, потому что они склоняют пользователей терять интерес к вашим приложению. Более того, они могут привести к потере данных. Используя сервисы наподобие Firebase, вы можете постоянно следить за падениями вашего приложения и быстро устранять неполадки. А также не будет лишним включать детальную информацию об исправлениях в журнал изменений вашего приложения, чтобы ваши пользователи знали, что вы они заботитесь.
Чтобы узнать больше об отчётах о падении Firebase, вы можете обратиться к официальной документации. Чтобы узнать больше о Firebase на Android и других связанных с ним технологиях, посмотрите некоторые из наших руководств!
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post