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:
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 "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):
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