안드로이드 개발자 모임 게시판
(글 수 7,991)
안녕하세요?
앱을 만들고 오랫동안 운영하다보면 앱의 라이프 사이클이나 발전 방향을 결정할때 유용하도록 통계가 절실해 집니다.
지금까지는 개인 서버에 php와 mysql을 사용해서 데이터를 모으고 분석 했는데요.
서버가 부하를 못받아 드릴때도 있고 데이터 양이 엄청나게 많아지니 분석이 제대로 안되고 분석 툴도 만들기도 귀찮아 누군가 대신 해줄 사람을 찾고 있었습니다.
언제나 그렇듯 세상에는 사람이 많고 구글링하면 감사하게도 누군가 해논 것을 쉽게 쓸 수 있죠 ;;;;
찾다 보니 구글 랩에서 진행하는 구글 아날리틱스 모바일 베타를 찾을 수 있었습니다.
http://code.google.com/intl/ko/mobile/analytics/docs/
구글 아날리틱스는 원래 웹사이트 용인데 안드로이드용 라이브러리를 추가해서 안드로이드 앱용으로도 사용 할 수 있습니다.
페이지뷰와 엑션을 모두 기록 해주고 쉽게 통계도 내주니 참 좋지요. 가장 다양한 분석이 가능한 서비스이기도 합니다.
처음 사용 방법이나 성질은 파악하는데 시간이 조금 걸립니다만 효과적인 분석이 될 것 같습니다.
유일한 단점은 통계용이기에 앱으로 정보를 다시 보내주는게 불가능 하다는 것이죠...
ps 겔럭시s 에서 sdk 셈플대로 만드시면 극악의 딜레이를 맛볼 수 있습니다. 나쁜 구글! 갤럭시s 개발자에게 배려도 ㅇ벗슴! ...
그러한 이유로 국내용 앱을 만들때에는 ui thread에서 돌리시면 안됩니다. ㅠㅠ
앱을 만들고 오랫동안 운영하다보면 앱의 라이프 사이클이나 발전 방향을 결정할때 유용하도록 통계가 절실해 집니다.
지금까지는 개인 서버에 php와 mysql을 사용해서 데이터를 모으고 분석 했는데요.
서버가 부하를 못받아 드릴때도 있고 데이터 양이 엄청나게 많아지니 분석이 제대로 안되고 분석 툴도 만들기도 귀찮아 누군가 대신 해줄 사람을 찾고 있었습니다.
언제나 그렇듯 세상에는 사람이 많고 구글링하면 감사하게도 누군가 해논 것을 쉽게 쓸 수 있죠 ;;;;
찾다 보니 구글 랩에서 진행하는 구글 아날리틱스 모바일 베타를 찾을 수 있었습니다.
http://code.google.com/intl/ko/mobile/analytics/docs/
구글 아날리틱스는 원래 웹사이트 용인데 안드로이드용 라이브러리를 추가해서 안드로이드 앱용으로도 사용 할 수 있습니다.
페이지뷰와 엑션을 모두 기록 해주고 쉽게 통계도 내주니 참 좋지요. 가장 다양한 분석이 가능한 서비스이기도 합니다.
처음 사용 방법이나 성질은 파악하는데 시간이 조금 걸립니다만 효과적인 분석이 될 것 같습니다.
유일한 단점은 통계용이기에 앱으로 정보를 다시 보내주는게 불가능 하다는 것이죠...
ps 겔럭시s 에서 sdk 셈플대로 만드시면 극악의 딜레이를 맛볼 수 있습니다. 나쁜 구글! 갤럭시s 개발자에게 배려도 ㅇ벗슴! ...
그러한 이유로 국내용 앱을 만들때에는 ui thread에서 돌리시면 안됩니다. ㅠㅠ
2010.12.03 11:40:08
딜레이가 생기는 원인이 dispatch를 매번 하기 때문인가요? 여기 내용에는 dispatch간격을 설정해서 부하를 줄이라고 되어 있는데, view가 distroy될 때 한 번만 dispatch해도 되지 않을까 싶네요..
2010.12.03 13:24:54
저도 의아해 했던 부분인데 dispatch는 서버로 내용을 보내는 부분이 맞으며 onPause나 onDestroy에 해놓는게 좋은것 같습니다.
확실히 문제는 페이지뷰나 엑션만 기록할때 딜레이가 생겼습니다. 제 생각에는 엑션이나 페이지를 기록할때 data/data/pacakge/ 에 파일이나 DB와 같은 형식으로 로그가 기록되고 그 로그를 나중에 dispatch 할때 보내는 것 같습니다. 그래서 언제나 내장 메모리 IO를 쓰게 되는 것이죠.. 음.. 아마 앱이 비정상적으로 종료될때를 대비해서 혹은 static, singleton 사용을 위해 파일로 기록하지 않나 하고 있었습니다.
확실히 문제는 페이지뷰나 엑션만 기록할때 딜레이가 생겼습니다. 제 생각에는 엑션이나 페이지를 기록할때 data/data/pacakge/ 에 파일이나 DB와 같은 형식으로 로그가 기록되고 그 로그를 나중에 dispatch 할때 보내는 것 같습니다. 그래서 언제나 내장 메모리 IO를 쓰게 되는 것이죠.. 음.. 아마 앱이 비정상적으로 종료될때를 대비해서 혹은 static, singleton 사용을 위해 파일로 기록하지 않나 하고 있었습니다.