Как я и обещал, эта статья будет
посвящена багам, которые мы не смогли отловить до релиза. Такое часто
случается, независимо от платформы и языка программирования, человеческий
фактор и по сей день играет роль в багообразовании, если только у вас в запасе
нет пару сотен тестировщиков с разными устройствами. Хотя некоторым даже
удается выдать баги за фитчи, смотря какими они получились, но рано или поздно,
данные “фитчи” теряются в многочисленных правках и версиях.
Основной проблемой остаются баги,
которые вы не можете отследить, но пользователь/пользователи настойчиво
твердят, что у них вылетает приложение при нажатии на кнопку или при
определенных условиях. Пытаясь воспроизвести условия краша, сталкиваемся с тем,
что приложение ведет себя так, как и должно. Условие краша те же – результат такой
каким и должен быть, по задумке проектировщика. Как минимум для фикса таких
проблем программисту нужно одна из двух вещей: краш-логи или же компилятор в
голове.
Думаю, с краш-логами будет
по проще разобраться ;) Для этого придумано много разных инструментов и
сервисов. В данной статье я опишу инструмент, с которым работаю уже более
полугода и довольно выделяющегося среди однотипных сервисов, как по
функционалу, так и по удобности.
Данный инструмент называется Crashlytics, сервис поддерживает как IOS так и Android. Я разобью статью на две части. Впервой части, т.к. в последнее время программирую под Android, расскажу, как подсоединить и использовать данную тулзу в android.
Начнем
Данный инструмент называется Crashlytics, сервис поддерживает как IOS так и Android. Я разобью статью на две части. Впервой части, т.к. в последнее время программирую под Android, расскажу, как подсоединить и использовать данную тулзу в android.
Итак, заходим на главный сайт и просим инвайт , вписывая свою почту (да, именно так, подключиться к сервису можно только по приглашениям). Теперь пишем немного данных о себе (Имя и фирму). Остается набраться немного терпения и ждать.
Главная страница сайта |
Немного данных о себе |
Прислали инвайт довольно оперативно, в течении 15-20 мин. Получив желанное
продолжаем установку.
Создание профиля |
Доступные IDE |
Создаем аккаунт, выбираем нужную IDE (У меня Eclipse). Далее копируем ссылку на плагин и устанавливаем
в Eclipse, перед этим убедитесь, что у вас стоит
последняя версия android и всех плагинов.
Установка плагина в Eclipse |
Активация аккаунта при первом запуске |
После установки в тулбаре
появится новая иконка.
иконка Crashlytics |
Главная стр. плагина |
Запускаем - откроется красивая менюшка. Нажав на кнопку включения и вбив свой логин и
пароль попадаем в меню выбора проекта для наблюдения. Для примера создал
тестовый, пустой проект. Выберем его.
Список подключенных/не подключенных проектов |
Нам покажут, что именно нужно добавить в
проект: пару строк в манифест (доступ к интернету и хэш-ключ приложения для
сервиса) и строчку кода для подключения сервиса в MainActivity. Следующим пунктом будет просто запуск
приложения.
Необходимые условия для добавления сервиса в проект (permission.INTERNET) |
Добавление ключа приложения для сервиса в манифест |
Ожидание первого билда для добавления в наблюдаемые прокты |
После запуска, проект будет добавлен в список наблюдения.
Мини дашборд наблюдаемого проекта |
Для примера сделаем самый простой краш).
Немного на говнячим ;) |
После запуска и падения приложения, через несколько минут появится отчет о
падении.
Краш-лог в дашборде плагина |
Нажав на него, откроется дашборд главного сайта, где и можно просмотреть
все прелести. Вот наш проект и первый
краш.
Дашборд сервиса (сайт) |
Зайдя в него, увидим подробну информацию на какой строчке упало, в каком
классе, какого числа, на каком девайсе, характеристики устройства, версия android, количество уникальных пользователей у которых
упало именно из-за этой ошибки, а так же общее количество падений благодаря
данному багу и рутованный или нет данный девайс.
Расширенное описание краша |
На главной странице можно
посмотреть список приложений подключенных к сервису и их текущее количество
багов.
Количество проектов наблюдаемых пользователем |
Сверху есть небольшое меню, с последними активными проектами и их
текущим состоянием.
Последние два наблюдаемых/активных проектов |
Можно так же
посмотреть количество проектов привязанных к определенному профилю, т.к. в
команду можно добавлять больше одного человека выслав ему инвайт с вашего
профиля.
Количество проектов за профилем |
Если у пользователя нет интернета - не беда, все краш-логи сохраняются и при
возможности отправляются на сервер. Собственно, вот и весь рабочий инструмент. В обзоре я не углублялся в
настройки сервиса, т.к. не хочу спойлерить, но там точно есть несколько
приятных и вкусных плюшек;)
Как вывод, напишу, что как ни крути, но основным помощником
в исправлении багов - будет ваша внимательность и понимание полной концепции
приложения, которым вы занимаетесь. Сторонние сервисы – хорошо и спасибо всем,
кто сделал их для нас, но они не исправят основную проблему – человеческую невнимательность.
Так что дерзайте и работайте над собой друзья. Всем удачных экспериментов и до
следующей статейки.
Комментариев нет :
Отправить комментарий