따지고 보면 이게 무슨 뻘짓이냐 할 수도 있다. 
본디 웹로그 분석에 주로 활용되는 Google Analytics(구글 애널리틱스)를 스마트폰 사용 패턴 분석 툴로 쓰는 요상한 활용법 말이다. 
이미 안드로이드 앱으로도 평상시 폰을 어떻게 쓰는지에 대한 통계를 내주는 놈이 있을 것인데 말이지. 

먼저 사족이 좀 필요하다. 

서두에서도 말했듯이 Google Analytics는 본디 웹로그 분석 전문툴이다. 
하지만 요녀석이 금년부터 Universal Analytics란 명칭으로 정식 버전업이 되면서 기존 웹, 모바일 뿐만아니라 오프라인에서 일어나는 이벤트도 추적할 수 있는 길이 생겼다. 

즉 Universal Analytics란 말처럼 "만물분석"이 가능하단 말인데 이걸 가능하게 하는 핵심 프로토콜이 바로 Measurement Protocol(이하 MP)란 놈. 
이걸 쓰면 기존처럼 추적코드를 html 코드상에 삽입하지 않고 단순 URL을 쏘는 방식으로도 Google Analytics에 로그를 전송할 수 있다. 

간단하게 예를 들면
다음의 주소(실제로 클릭하면 아무것도 안나옴) http://www.google-analytics.com/collect?v=1&tid=UA-XXXXXX&cid=123456&t=event&ec=powerblog&ea=view&el=xxx
를 클릭하면 tid에 해당하는 Google Analytics 프로퍼티 ID로 로그가 보내지는 것이다. 

즉 get이던 post던 어떻게든 http 통신만 일어나게 하면 로그가 수집된다는 것. 
요즘 사물인터넷 어쩌고 하는데 실제 센서가 인터넷과 연결될 수 있다면 오프라인에서 일어나는 이벤트(문을 열거나 닫거나 손님이 특정 위치에 접근하거나 등등)도 수집이 가능해진다. 
실제 활용방법은 무궁무진할 정도. 

그래서 일단 테스트도 해볼겸 최근 킷캣으로 업그레이드한 내 옵티머스G 프로를 실험 대상으로 선택했다.

이유는 별거 없다.  
항상 인터넷에 연결되어 있고 tasker란 놈으로 간단하게 http get 통신이 가능하니 말이다. 

시나리오는 이렇다. 
폰에서 특정 이벤트가 발생하면 이를 tasker로 캐치 후 http get 기능을 이용해 위의 주소처럼 통신을 보내면 간단하게 완성! 

일단 쉬운거부터 가기로 했다. 
폰 화면이 꺼지거나 켜지는 이벤트를 구글 애널리틱스에서 수집해보기!

첨에는 화면 꺼짐, 켜짐만 테스트 하다가 나중에는 앱 설치, 실행, 업데이트, 전화걸림, sms 문자 수신까지 추적하게 됐음.

첨에는 화면 꺼짐, 켜짐만 테스트 하다가 나중에는 앱 설치, 실행, 업데이트, 전화걸림, sms 문자 수신까지 추적하게 됐음.


예를 들어 폰화면이 켜졌을 때 Google Analytics에 이벤트를 보내는 설정은 아래와 같다. 

위에서 언급한 MP 프로토콜에 맞춘 주소를 tasker 의 http 전송 형식에 맞게 풀어쓴것 뿐이다. 단 ec, ea, el 등의 구글 애널리틱스 이벤트 쪽을 활용.

위에서 언급한 MP 프로토콜에 맞춘 주소를 tasker 의 http 전송 형식에 맞게 풀어쓴것 뿐이다. 단 ec, ea, el 등의 구글 애널리틱스 이벤트 쪽을 활용.


이게 웹페이지처럼 페이지가 있는게 아니기 땜시 페이지 제목 등의 정보를 보낸게 아닌 걍 구글 애널리틱스의 이벤트 쪽을 활용했다. 이벤트 카테고리(ec), 이벤트 액션(ea), 이벤트 라벨(el)등은 내가 해당 이벤트에 맞게 적당히 설정한 값이다. 

헌데 이런건 너무 단순했다. 
그래서 최소한 내가 어떤 앱을 주로 쓰는지 정도는 넣고 싶어서 아래의 스샷처럼 다른 수단을 좀 동원했다. 

안드로이드 쉘 환경 명령어인 dumpsys로 현재 띄워진 앱의 정보를 획득 한 후 이를 변수에 넣어 MP로 전송

안드로이드 쉘 환경 명령어인 dumpsys로 현재 띄워진 앱의 정보를 획득 한 후 이를 변수에 넣어 MP로 전송


대충 위와 같은 방식으로 설정 후 보름 정도 추적해 봤다. 
아래는 그 결과다. 

이벤트 카테고리를 화면, 앱, 문자, 전화로 나눈 것. 역시 화면 끄고 켜짐과 앱 실행 횟수가 압도적이다.  그에 비해 전화와 문자는... ㅠㅠ

이벤트 카테고리를 화면, 앱, 문자, 전화로 나눈 것. 역시 화면 끄고 켜짐과 앱 실행 횟수가 압도적이다. 그에 비해 전화와 문자는... ㅠㅠ


이벤트 카테고리 보다 한단계 더 들어간 액션 on,off는 화면 관련, excute, install, update는 앱관련 설정이다.

이벤트 카테고리 보다 한단계 더 들어간 액션 on,off는 화면 관련, excute, install, update는 앱관련 설정이다.



마지막으로 이벤트 라벨 - 실제 어떤 앱이 실행됐는지 알 수 있다. 크롬과 연락처, ES파일탐색기 정도가 수위를 차지한다.

마지막으로 이벤트 라벨 - 실제 어떤 앱이 실행됐는지 알 수 있다. 크롬과 연락처, ES파일탐색기 정도가 수위를 차지한다.


마지막 스샷을 보면 실제 내가 폰에서 어떤 앱을 주로 사용하는지 즉 어떤 목적으로 폰을 쓰는지 안드로이드 개발자 분들이라면 대충 알 수 있을 것이다. 
스샷 왼쪽에 체크박스가 세개 정도 체크된게 보이는데 이걸 체크 후 위의 Plot Rows를 실행하면 해당 항목만 그래프로 표시된다. 물론 여기선 다른게 압도적이라 크게 시각적으로 눈에 띄진 않지만 세그먼트를 쪼거나 검색을 통해 표시되는 디멘션 가짓수를 줄이면 훨씬 확연히 들어날 것이다. 

다시한번 서두의 질문으로 돌아가 보자. 
난 이 뻘짓을 왜 한것일까?

먼저 순수한 호기심이 발로였다. 
또한 MP를 활용해 오프라인 데이터 추적 가능성을 간접적으로나마 테스트 해보고 싶었다. 
인터넷 연결이 가능한 아두이노나 라즈베리파이 등의 자그마한 기기들로 사물인터넷 구현시 어떤 점을 보다 고려해야하는가도 알고 싶었고 말이다. 

결론적으로 생각보다 상당히 간단한 방법으로 온, 오프라인의 데이터를 통합적으로 Google Analytics에 저장 가능하단 사실을 체감했다. 
그간 온라인에 비해 추적이 어려웠던 오프라인 이벤트 추적의 가능성도 깨달았고 이 둘을 통합해 분석할 경우 어떤 인사이트를 뽑아낼 수 있을지 사뭇 기대되고 있다. 

웹, 모바일웹, 앱, 스마트워치, 구글글래스, 기타 여러 인터넷으로 연결된 사물 들까지 통합하여 분석 가능한 세상. 
세상은 우리가 아는 것보다 훨씬 빠르고 무섭게 변하고 있는 중이다. 


최근 한달간 인기글

이 글의 관련글

REPLY AND TRACKBACK RSS http://blog.nemesys.co.kr/tt/rss/response/1438
REPLY AND TRACKBACK ATOM http://blog.nemesys.co.kr/tt/atom/response/1438
TRACKBACK ADDRESS
이 글에는 트랙백을 보낼 수 없습니다
REPLY RSS http://blog.nemesys.co.kr/tt/rss/comment/1438
REPLY ATOM http://blog.nemesys.co.kr/tt/atom/comment/1438
좋은 글이네요 
wrote at 2014/12/07 22:49
추천을 누르고 싶다만 추천 버튼이 없네요...
잘 보고 갑니다.
Nes 
wrote at 2014/12/08 20:55
굉장히 마이너한 글이라 생각했는데 고맙습니다~
준석 
wrote at 2015/01/08 11:11
와....
진심으로 대단하십니다. 좋은 인사이트가 나올 수 있을 것 같은 포스팅이네요.
좋은 정보 감사합니다.
비밀방문자 
wrote at 2015/05/21 11:48
관리자만 볼 수 있는 댓글입니다.
Nes 
wrote at 2015/05/22 15:45
네 웹모드로 임의의 도메인 주소를 넣었습니다.
제 경우는 제 도메인에 딸린 임의 호스트로 연결했는데요.
이런식으로 실제 존재하기 힘든 주소를 넣어도 동작에는 로그수집에는 무리가 없었습니다.
이름 / Name : *
비밀번호 / Password : *
홈페이지 / Homepage :
비밀글 / Secret :
*1  ... *18  *19  *20  *21  *22  *23  *24  *25  *26  ... *1133 
  • 블로그 주인장 : Nes
  • 이메일 : [email protected]
  • 이 블로그는?
  • 방명록
  • 레퍼런스 사이트 : http://nemesys.co.kr
SNS + RSS Links
rss
다음 일간 이슈 검색어
Since 2006 Nes's Random Blogz
Total 10652125 T1500 Y2102

3114

2131

google chart api graph

-30 days

today : 1500

전체 (1133)
Nes이야기 (123)
하드웨어이야기 (260)
소프트웨어이야기 (27)
외국어이야기 (12)
IT/웹이야기 (248)
연예계/방송이야기 (145)
게임이야기 (96)
광고/제품이야기 (58)
여행/먹거리이야기 (45)
세상이야기 (98)
최근에 쓴 글
구글 딥마인드 알파고가 이세돌을 꺾은날, 애드센스로 ...
구글 설문지(구글 폼)에서 정규식으로 입력 내용 사전 ... (1)
유플러스 tv g 4k uhd 셋톱박스를 신모델인 tvg 우퍼2... (9)
신장의 야망 창조 전국입지전 - 삼국지 13의 재미를 뛰... (2)
구글 애널리틱스(Google Analytics) 보고서 및 대시보...
그래픽카드 견적을 뺀 이번 조립컴퓨터, 스카이레이크 ... (1)
기어s 웨어러블 요금제로도 올레 맴버쉽 포인트 사용이...
안드로이드 롤리팝 포팅 버전 기어s 3g 요금제 가입 후... (2)
tasker http post 기능을 활용해 스마트폰 이벤트를 sl...
삼국지13 간단 후기 - 역대 장수제 시리즈의 정점을 찍...
네이버 웹마스터도구에 블로그와 RSS 주소 등록 후 10...
네이버 웹마스터도구 개편이 불러온 검색로직 및 트래...
삼성 갤럭시 기어s 롤리팝 포팅 후기 및 앱 사용기 (1)
삼성 갤럭시 기어s에 안드로이드 롤리팝 올리기 성공! (3)
CPU 잡아먹는 어베스트 avast mft utility(mftutil.exe...
유플러스 TVG 롤리팝 업데이트 후기(via 기기교체!!) (1)
블로그 포스팅이 점점 줄어드는 이유
u+ tv g 롤리팝 업데이트를 하릴없이 기다리며 써본 간... (9)
허니버터칩은 과연 꼬꼬면의 숙명을 피할 수 있을 것인가? (3)
LG유플러스 U+ tvg 4K UHD 간단 사용기 및 신구형 셋톱... (2)
구글 애널리틱스 웹로그 분석 공인 전문가 자격 인증 ...
스마트폰 사용 패턴 통계 및 분석 with Tasker & Googl... (5)
갤럭시 기어1 - 루팅 및 안드로이드 null롬 올린 후 두... (1)
옵티머스G프로 킷캣 업데이트 후 폰트변경 - 나눔바른...
갤럭시 기어1 - 루팅 및 안드로이드 커스텀 롬 사용기 ... (5)
구글 애널리틱스 UA 업그레이드 이후 애드센스 통계 안...
스마트폰 화면 밝기 어둡게해 야밤에 시력 보호하는 방법 (1)
블루투스 휴대용 스피커 로지텍 UE Boom 간단 리뷰 및 ...
구글 스프레드시트가 canvas를 활용해 만들어졌다니!! (1)
구글 드라이브 스프레드시트(엑셀)의 놀라운 기능 impo...