среда, 2 октября 2013 г.

ANDROID. Пользователь всегда прав




                 Как я и обещал, эта статья будет посвящена багам, которые мы не смогли отловить до релиза. Такое часто случается, независимо от платформы и языка программирования, человеческий фактор и по сей день играет роль в багообразовании, если только у вас в запасе нет пару сотен тестировщиков с разными устройствами. Хотя некоторым даже удается выдать баги за фитчи, смотря какими они получились, но рано или поздно, данные “фитчи” теряются в многочисленных правках и версиях.

                Основной проблемой остаются баги, которые вы не можете отследить, но пользователь/пользователи настойчиво твердят, что у них вылетает приложение при нажатии на кнопку или при определенных условиях. Пытаясь воспроизвести условия краша, сталкиваемся с тем, что приложение ведет себя так, как и должно. Условие краша те же – результат такой каким и должен быть, по задумке проектировщика. Как минимум для фикса таких проблем программисту нужно одна из двух вещей: краш-логи или же компилятор в голове.

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

Начнем


                Данный инструмент называется Crashlytics, сервис поддерживает как IOS так и Android. Я разобью статью на две части. Впервой части, т.к. в последнее время программирую под Android, расскажу, как подсоединить и использовать данную тулзу в android.

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

Главная страница сайта

Немного данных о себе 

            Прислали инвайт довольно оперативно, в течении 15-20 мин. Получив желанное продолжаем установку. 


Создание профиля


Доступные IDE


           Создаем аккаунт, выбираем нужную IDE (У меня Eclipse). Далее копируем ссылку на плагин и устанавливаем в Eclipse, перед этим убедитесь, что у вас стоит последняя версия android и всех плагинов. 

Установка плагина в Eclipse


Активация аккаунта при первом запуске


              После установки в тулбаре появится новая иконка.  

иконка Crashlytics


Главная стр. плагина 


               Запускаем - откроется красивая менюшка. Нажав на кнопку включения и вбив свой логин и пароль попадаем в меню выбора проекта для наблюдения. Для примера создал тестовый, пустой проект. Выберем его. 

Список подключенных/не подключенных проектов


                  Нам покажут, что именно нужно добавить в проект: пару строк в манифест (доступ к интернету и хэш-ключ приложения для сервиса) и строчку кода для подключения сервиса в MainActivity. Следующим пунктом будет просто запуск приложения. 


Необходимые условия для добавления
сервиса в проект (permission.INTERNET)


Добавление ключа приложения для сервиса в манифест


Ожидание первого билда
для добавления в наблюдаемые прокты


               После запуска, проект будет добавлен в список наблюдения.  

Мини дашборд наблюдаемого проекта


                 Для примера сделаем самый простой краш). 

Немного на говнячим ;)

                 После запуска и падения приложения, через несколько минут появится отчет о падении.

Краш-лог в дашборде плагина


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

Дашборд сервиса (сайт)


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

Расширенное описание краша


                   На главной странице можно посмотреть список приложений подключенных к сервису и их текущее количество багов. 

Количество проектов наблюдаемых пользователем 


                   Сверху есть небольшое меню, с последними активными проектами и их текущим состоянием.  

Последние два наблюдаемых/активных проектов


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

Количество проектов за профилем 


                 Если у пользователя нет интернета - не беда, все краш-логи сохраняются и при возможности отправляются на сервер. Собственно, вот и весь рабочий инструмент. В обзоре я не углублялся в настройки сервиса, т.к. не хочу спойлерить, но там точно есть несколько приятных и вкусных плюшек;) 

   





                Как вывод, напишу, что как ни крути, но основным помощником в исправлении багов - будет ваша внимательность и понимание полной концепции приложения, которым вы занимаетесь. Сторонние сервисы – хорошо и спасибо всем, кто сделал их для нас, но они не исправят основную проблему – человеческую невнимательность. Так что дерзайте и работайте над собой друзья. Всем удачных экспериментов и до следующей статейки. 




Комментариев нет :

Отправить комментарий