2015.07.09 11:09

한 가지 핑계를 대고 넘어가야겠다. 어제 로깅 코드를 만들 때 모든 데이터를 event로 처리한 걸 기억하길 바란다. 사실 모든 게임의 로그를 이벤트로만 처리하는 것은 당연히 잘못된 방법이다. 하지만, 이 글은 Google Analytics와 Unity를 연동하는 과정을 설명하는데 목적을 두고 있다. 구글 애널리틱스에 적합하게 로깅하고 리포트를 분석하는 글이 아님을 밝힌다.(절대 몰라서 그런거... 맞음. --)


아마 대부분의 통계툴이 그렇겠지만, 데이터를 샘플링한다. 그래서 모든 데이터를 세세하게 보지는 못한다. 이번 테스트에서는 어제 게임 두 판만 했음. 팔이 아파서..데이터가 적기 때문에 추론하는 방법만 간단히 언급하겠다.


이제 본론 시작!!


데이터 조회는 보고서 속성에 설정한 시간대에 정리가 된다. 1일마다 리포트되며, 필요한 경우 아래 화면에서 변경 가능하다. 



금일 업데이트 되어 어제 테스트 한 내용을 검토해 볼 수 있게 되었다. 어제는 모든 데이터를 event로 처리했으니,  좌측 메뉴에서 "방문 형태" -> "이벤트" -> "인기 이벤트"로 먼저 가보자. 그럼 아래와 같은 결과를 볼 수 있다.



이전에 목표로 잡았던 총 세 가지 지표를 검토해 보자. 


1. 몇번째 스테이지에서 좌절하는가.

 : Category "game" -> Action "gameover" -> Label "last day" 로 설정했던 값을 검토해보자.

(* 순 이벤트 수란 : 한 세션 기준으로 첫 행동만 기록되는 이벤트의 합계. 즉, 어제 나 혼자, 게임을 두번 했는데, 하나의 세션이었으니, 그 중 첫번째 게임의 데이터를 말한다. 이벤트 값은 10. 두번째는 99판까지 갔다능...)


총 두번 플레이 되었으며,  순 이벤트 수 기준으로 이벤트 값은 10. 이를 통해 유저들은 평균 day 5 플레이 한다는 말도 안되는 결과를 알 수 있다. (모수가 많다면 우리 모두 공감할만한 결과를 얻을 수 있다. 지금은 그냥 패스 --a) 


2. Food의 획득, 이동 시 사용하는 량, 좀비에게 타격받아 소비되는 량

 : Category "food" -> Action "loss","get" -> Label "move","attacked","food","soda"  로 설정했던 값을 검토해보자.


Label 기준으로 본 화면이다. move, attacked는 loss, food, soda는 get action의 값이니 참고하자.


게임에서 이동 시 소비되는 food는 1이다. 평균값이 1인걸 확인할 수 있으며, 총 이벤트수는 90%에 육박하고 있는 걸 볼 수 있다. 그에 비해 attacked는 총 3.91%로 미비하다. (좀비가 우쉽나?)  좀비의 무서움을 더 알릴 필요가 있겠다. 


획득은 food가 soda의 획득 비율은 비슷하다. action "get"을 기준으로 food와 soda를 비교해보면 각각 56%와 44%임을 알 수 있었다. (몰랐는데 뭘 먹으나 food 증가량은 10이었네 --a 모양만 다르고 효율은 같았구나.)


3. 각 스테이지 별로 몇 번 정도의 이동으로 클리어 하는가

 : Category "day" -> Action "clear" -> Label "total move"로 설정했던 값을 검토해보자.

 위 분류는 사실 목적에 알맞지 않은 설정이었다. label을 day 1, day 2 등으로 분류하여 각 day별로 이동 횟수를 볼 수 있게 했어야 했다. 혹시 4번째 글에서 소스를 받은 분들은 이 부분을 개선해서 테스트 해보면 더 좋을 듯. 


day 별로 구분되지 않은 건 아쉽지만, 평균 약 20회 이동으로 스테이지를 클리어 하는 결과를 볼 수 있다.



이상. Unity + Google Analytics 연동에 대한 글을 마친다.


블로그 자체를 개인 저장소로 생각하며 글을 올리다보니 실수가 여기저기 보이네.


가끔 와서 보시는 분들께 심심한 사과의 말씀을 ^^a


다들 행복한 하루 하루 되세요. ~ 




저작자 표시 비영리 동일 조건 변경 허락
신고
2015.07.08 15:01


GameManager.zip

기반 준비는 다 되었다. 이제 실제 이벤트를 전송하고 그 결과를 어떻게 보는지 살펴보자.


이 전 글에서 공유했던 목표는 아래와 같다. 


1. 몇번째 스테이지에서 주로 좌절하는가

 : Game Over되는 시점의 Day 날짜를 전달하자.


2. Food의 획득, 이동 시 사용하는 량, 좀비에게 타격받아 소비되는 량

 : Food 나 Soda 획득시 획득량 전달

 : 이동할 때마다 1씩 소비됨. 이 정보 전달

 : 좀비에게 공격 당하면 10씩 소비된다. 이 정보 전달.


3. 각 스테이지 별로 몇 번 정도의 이동으로 클리어 하는가.

 : 각 스테이지가 클리어 될 때 총 이동 횟수 전달.


event parameter는 총 4개로 구성되며, string category, string action, string label, int value로 구성된다. 위 세 가지 이벤트를 위해 아래와 같은 분류를 만들자.


Category

"game" - 게임 전체에 대한 대분류

"day"   - 한 턴 끝날 때.

"food"  - 게임의 중요 요소, Food


Action

"clear" - 턴 클리어 시

"gameover" - 게임 종료 시

"get"   - 획득

"loss"  - 손실


Label

"total move" - 한 턴의 총 이동 횟수

"Last Day" - 마지막 day 

"food","soda" - 획득 시 구분되는 요소

"attacked","move" - 손실 시 구분되는 요소

 

관련된 코드는 첨부된 파일, GameManager.cs, Player.cs를 참고할 것!


테스트 한 실시간 그래프는 아래처럼 볼 수 있다.



Google Analytics에서는 이벤트 기록을 상세 분석하기 위해서는 하루가 지나야 가능하기 때문에 


리포트 상세보기는 내일 이어서 업데이트 할 예정


저작자 표시 비영리 동일 조건 변경 허락
신고


티스토리 툴바