środa, 18 sierpnia 2010

Android Feedback czyli narzędzie do śledzenia błędów w aplikacjach

Jakiś czas temu (po prezentacji wersji 2.2 na Google I/O 2010 ale przed oficjalnym OTA wersji 2.2) Google rozbudowało konsole deweloperską Android Marketu o nowe narzędzie: Android Feedback. Opisałem je od strony użytkownika w tym poście, teraz opiszę od strony dewelopera.

By nasza aplikacja mogła zgłaszać nam błędy (a właściwie proponować ich zgłaszanie do użytkownik może nie wysłać raportu o błędzie po prostu - podobnie jak np. w Windows) musi ona być zainstalowana z poziomu Android Marketu. Po prostu. Podczas instalacji Android Market ustawia odpowiedni wpis w PackageManagerze, dzięki której Android wie, co zrobić w przypadku wystąpienia błędu w naszej aplikacji.

W celu sprawdzenia jakie informacje deweloper dostaje w zgłoszeniu o błędzie napisałem prostą aplikację, za pomocą której można wywołać dwa rodzaje błędów (chyba najczęstsze):
  • Application not responding (ANR)
  • Null pointer exception (NPE)

Wywołanie powyższych błędów realizowane jest w trywialny sposób:

Po kliknięciu na przycisk "Null Pointer Exception" zobaczymy ekran podobny do tego poniżej po lewej stronie, zaś po wybraniu opcji "Report" ukaże się okno podobne do tego po prawej:

Użytkownik może dodać własny komentarz do błędu, który będzie widoczny dla dewelopera. Może też podejrzeć informacje jakie zostaną wysłane (niestety, jak poniżej pokaże, do dewelopera trafia niewielka ich część) wraz z błędem:


Gdy już raport zostanie wysłany, po jakimś czasie pojawi się w konsoli deweloperskiej w Android Markecie:


Po kliknięciu na "Errors (2)" możemy zobaczyć listę błędów z podziałem na:
  • zawieszenia programu (Freezes) czyli ANR 
  • błędy w programie (Crashes) czyli wyjątki


Po kliknięciu na "1 new" widzimy listę typów błędów - nie poszczególne błędy, które są nowe:


Po kliknięciu w dany typ błędu widzimy szczegółowe informacje go dotyczące, takie jak:

  • klasa wyjątku
  • metoda gdzie pojawił się wyjątek
  • urządzenia na jakich pojawiał się błąd
  • wersja aplikacji
  • stos wyjątku


Po kliknięciu w "Show user messages" możemy zobaczyć opisy błędów wpisane przez użytkowników:


Po zaznaczeniu błędu jako stary za pomocą przycisku "Mark as old", błąd przechodzi do kategorii "old" (z możliwością zmiany na "new" z powrotem):

 

Podsumowując, mam mieszane uczucia. Z jednej strony świetnie, że powstało takie narzędzie, które ma ułatwić pracę deweloperom. Dostarcza ono wielu cennych informacji na temat błędów w programach i - co ważne - nie wymaga żadnego nakładu pracy programistycznej. Po prostu jest i działa. Jednak ma to swoją cenę a jest nią działanie tylko po instalacji z Android Marketu (co może być problemem dla aplikacji dystrybuowanych innymi kanałami). Poniżej postaram się zebrać wady i zalety Android Feedback:

Zalety:
  • działanie out-of-the-box - zero nakładu pracy programistycznej
  • brak dodatkowych bibliotek dołączanych do programu
  • grupowanie błędów

Wady:
  • działanie tylko dla aplikacji zainstalowanych z Android Marketu
  • opcjonalność raportów - część błędów może po prostu nie zostać wysłana
  • mała ilość danych dla dewelopera - brak choćby informacji o wersji systemu operacyjnego
  • nieczytelny raport ANR
PS. Dokładniejszą ocenę będę mógł przedstawić gdy zacznę pracować na "prawdziwej" a nie testowej aplikacji z prawdziwymi użytkownikami.

0 komentarze:

Prześlij komentarz