180bpm

Crash Report Tool 조사 및 crittercism 붙이기 본문

Develop/Unity

Crash Report Tool 조사 및 crittercism 붙이기

powdersnow 2015. 10. 7. 18:09

크래시 리포트 툴을 붙여야 할거 같다고 한건 이미 작년 초.. 지금 회사 입사시점부터..

그땐 막연하게

에러가 나면 로그를 텍스트 파일로 저장하고, 게임이 실행될때 텍스트 파일이 있으면 게임서버에 쏴야하나..


라는 구조만 생각하고 있었음.


8월 말에 페이스북의 유니티 개발자 커뮤니티에 크래시 리포트 툴에 관한 설문조사가 올라와서, 해당 서비스들을 한번 훑어봤다.

https://www.facebook.com/groups/unitykorea/permalink/874788432602984/


조사하고 적용하면서 느낀건 "유니티가 참 편하구나."

그리고 해당 사이트 로그인부터 허들 생기면 밉게 보임.


Crittercism

일단 무료. 프리미엄 서비스 존재

이걸로 선택했다.


장점 : 실시간 확인 가능, 유니티 연동 가능한 SDK 제공, 앱 퍼포먼스도 체크해줌.

단점 : 유니티 문제라고 봐야하나, 핸들링 되지 않은 에러 처리하는데 매우 고생함.

http://www.crittercism.com/


한글 문서도 있다. 국내 총판에서 제공해준다고 한다.

http://docs.crittercism.co.kr/crittercism_man/

총판 주소

http://solulink.co.kr/


적용이 매우 빠르다. SDK 풀고, app id 따서 init 시키면 끝. androidmanifest 만질 일도 없고, 커스텀 액티비티 따로 안만들어도 되고.



실시간 확인. SDK가 잘 붙었나 F5로 확인하지 않아도 된다.

라이브때라면 배포 후 어느 시점에서 유저들이 많이 탈락하는지도 예측 가능할것으로 보인다.


스택 트레이스. 버전별 구분도 되고 해결안됨/확인됨/해결됨등의 상태 처리도 가능하다.

상세 정보. 릴리즈모드일때에는 어느 라인에서 났는지까진 모른다.


디버그 모드일때는 어느 라인인지까지도 알 수 있다.



문제 1. 핸들링 되지 않은 유니티 에러 로그 수집.

원래라면 crittercism에서도 지원을 해주는데

System.AppDomain.CurrentDomain.UnhandledException += _OnUnresolvedExceptionHandler;
Application.RegisterLogCallback(_OnDebugLogCallbackHandler);

요 두 함수가 정상동작을 하지 않는다. 유니티 버전 4.6.8 f1

그래서 한번 더 호출해서 입히는 식으로 어물쩡 넘김.


문제 2. 최신 SDK 적용 불가 문제

최신 버전은 5.3.3, github에 등록된 SDK의 버전은 5.0.8

SDK만 교체하면 리포트가 수집이 안된다.


요 두가지 말고 별 문제 없었다.



투표순 정렬.

1. Android 혹은 iOS 자체 기능만 사용

장점 : 무료, 추가 작업 필요없음

단점 : 액티비티의 오류만 체크 가능함. 유니티에서의 에러는 확인 불가.


구글 플레이 개발자 콘솔의 다운 밎 ANR에서 확인 가능하다.

다운은 크래시 난 리포트, ANR은 응답없음에 대한 리포트


다음처럼 무슨 에러가 났는지 확인가능하다.




이름을 클릭하면 스택 트레이스를 포함해 다양한 그래프를 보여준다.



사용자들이 보내준 리포트도 확인 가능.


단점은 유니티에서 일어난 오류는 잡지 못한다. ex.) null 참조, 0/0 에러등

이것만으로는 문제 파악이 불가능해서 다른걸 찾아봄.

crittercism을 선택했으니 두개를 병행해서 쓰면 되지 싶다.



2. 자체 서비스 구현

장점 : 필요한 상황에 맞게 구현 가능. 포폴에 올릴 수도 있음!

단점 : 시간과 돈, 실력


내 소속이 기술지원팀이라면 만들었을거같다.

컨텐츠 만들고 버그픽스 하는것만으로도 죽겠는데 언제 하나..

그리고 솔직히 말해, 내 경력엔 "어떤게 필요한지, 어떻게 보내는게 효율적인지"를 가늠하기가 어렵다. 이번에 다른거 쓰면서 어떻게 처리해야하는지 알았던거고.


HockeyApp

http://hockeyapp.net/

기업용은 돈이 나가서 검토 안함;


Crashlytics

https://www.crashlytics.com/

ㅋㅋ....;

장점 : 무료

단점 : 로그인부터 적용까지 허들의 연속.

트위터에서 제공하는것으로 알고 있다.

fabric을 연동해야 다음 스텝을 나갈 수 있다, 문제는 fabric을 연동하지 않으면 어떻게 생겼는지 훑어보지도 못하고 도큐먼트도 읽을 수가 없다. 심지어 로그아웃도 못한다.


crashlytics에 가입하고나서 연동을 안하면 계속 이 창이 뜬다. 이클립스에서 연동이 성공했다고 떠도 계속 뜬다.


커스텀 액티비티를 만들어야하는데... 이클립스에서 플러그인 깔고 뭐 하고 해서 액티비티를 뽑았더니



안된다. 



ㅋ..

아니 뭘 볼 수 없게 해놨어.. 계속 홈페이지 들어가면 연동하라고 강제로 페브릭으로 보내버려..

ㅋ....

..

구경 좀 하고 싶은데 ㅋ....;


승질이나서..ㅋ..




이하 확인 안한것들.

Appsee

TestFlight 

TestFairy




뭐 여튼, 결론은 작업하기 매우 편하다.

Comments