일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 영어
- Python
- API
- mariadb
- JavaScript
- Git
- nodejs
- 구글
- Ai
- error
- MSSQL
- AWS
- JS
- Windows
- unity
- ssh
- elasticsearch
- MySQL
- s3
- sample
- Linux
- ChatGPT
- 엘라스틱서치
- 설정
- logstash
- 유니티
- build
- Kibana
- docker
- Today
- Total
목록개발 이야기/개발 및 서비스 (103)
가끔 보자, 하늘.
한 가지 핑계를 대고 넘어가야겠다. 어제 로깅 코드를 만들 때 모든 데이터를 event로 처리한 걸 기억하길 바란다. 사실 모든 게임의 로그를 이벤트로만 처리하는 것은 당연히 잘못된 방법이다. 하지만, 이 글은 Google Analytics와 Unity를 연동하는 과정을 설명하는데 목적을 두고 있다. 구글 애널리틱스에 적합하게 로깅하고 리포트를 분석하는 글이 아님을 밝힌다.(절대 몰라서 그런거... 맞음. --) 아마 대부분의 통계툴이 그렇겠지만, 데이터를 샘플링한다. 그래서 모든 데이터를 세세하게 보지는 못한다. 이번 테스트에서는 어제 게임 두 판만 했음. 팔이 아파서..데이터가 적기 때문에 추론하는 방법만 간단히 언급하겠다. 이제 본론 시작!! 데이터 조회는 보고서 속성에 설정한 시간대에 정리가 된다..
기반 준비는 다 되었다. 이제 실제 이벤트를 전송하고 그 결과를 어떻게 보는지 살펴보자. 이 전 글에서 공유했던 목표는 아래와 같다. 1. 몇번째 스테이지에서 주로 좌절하는가 : Game Over되는 시점의 Day 날짜를 전달하자. 2. Food의 획득, 이동 시 사용하는 량, 좀비에게 타격받아 소비되는 량 : Food 나 Soda 획득시 획득량 전달 : 이동할 때마다 1씩 소비됨. 이 정보 전달 : 좀비에게 공격 당하면 10씩 소비된다. 이 정보 전달. 3. 각 스테이지 별로 몇 번 정도의 이동으로 클리어 하는가. : 각 스테이지가 클리어 될 때 총 이동 횟수 전달. event parameter는 총 4개로 구성되며, string category, string action, string label, i..
샘플 제작을 위한 게임 샘플은 2D Roguelike를 사용했다. Android를 기준으로 설명한다. iOS에 대한 내용은 다음 글에서 세팅과 관련된 내용만 다루도록 한다. 그 이외의 내용이 다르진 않으니.. 트래킹을 위한 1차 목표는 아래와 같다. - 몇번째 스테이지에서 주로 좌절하는가 - Food의 획득, 이동 시 사용하는 량, 좀비에게 타격받아 소비되는 량 - 각 스테이지 별로 몇 번 정도의 이동으로 클리어 하는가. Google Analytics 설정 절차 1. google 계정을 생성 후(기존 계정 사용 가능) https://www.google.com/analytics/에 로그인한다. 2. 애널리틱스 계정이 없다면 계정을 생성하는 폼이 출력될 것이다. 그곳에 원하는 대표 계정명, 속성명(속성은 프..
(* 원문 : https://developers.google.com/analytics/devguides/collection/unity/v3/reference?hl=ko )*역자주 : 원문을 그대로 변역하는게 아닌, 실무에 적용하면서 불필요하게 긴 내용은 빼고, 추가할 내용은 넣으면서 진행합니다. 번역이 아님을 알아주세요. ^^a 데이터를 보낼 때는 Basic 나 Builder method를 사용합니다. Builder method들은 보낼 정보들에 대한 수치, campaign 파라미터들을 추가하길 원할 때 사용됩니다. Dispatch Hits네트웍 연결이 가능하다면 데이터를 전송한다.public void DispatchHits(); Session ControlSession들은 스크린 뷰, 이벤트들 그리고 ..
아래 주소에서 package를 다운로드 할 수 있다. 이 글 작성일 기준으로 아직 베타임. https://github.com/googleanalytics/google-analytics-plugin-for-unity?hl=ko 이를 사용하기 위한 정책이 있다.(변경 될 수 있으니 , https://developers.google.com/analytics/devguides/collection/unity/policy?hl=ko 를 꼭 읽어볼 것!) 1. 당연하지만, Google Analytics Account가 필요하다. 2. End User에서 당신이 Analytics로 전송하는 데이터에 대한 동의를 얻어야 하며, 유저에게 보낼지 말지를 선택할 수 있는 옵션을 제공해야 한다. 3. 이메일, Social Se..
방법을 몰라서 인터넷을 찾아보니 사람마다 다 방법이 다르다. --;; var old = new Date ( 특정일 );var now = new Date();var gap = new Date( 0,0,0,0,0, now- old); 이렇게 처리한 분도 있던데.. 내가 원하는 값은 아니었고.. 시간, 분, 초, ms 차이를 알고 싶었기에.. 이거저거 뒤져보다.. getTime 인터페이스가 있어 사용해보니.. OK!! var old = new Date ( 특정일 or 시간);var now = new Date(); var gap = now.getTime() - old.getTime(); var sec_gap = gap / 1000;var min_gap = gap / 1000 /60; 이런 식으로 처리 가능!! ..
Coconut은 서비스를 위해 가동되는 시스템을 손쉽게 관리하기 위해 만들어졌습니다. Coconut은 관리자가 지정한 그룹이름과 특정 시스템에 부여한 별칭으로 손쉽게 정렬하고 모니터링 할 수 있습니다. 자신이 지정한 특정한 어플리케이션의 이상유무를 실시간으로 파악하여 보고하며, 서비스를 위한 패치를 버튼 몇번을 누름으로서 손쉽게 배포/패치할 수 있습니다. 그리고, 툴에서 제공하는 하나의 터미널 화면을 통해 자신의 모든 시스템에 손쉽게 접근하여, 자신이 원하는 작업을 처리할 수 있습니다. 제공하는 주요 기능은 아래 툴 화면을 통해 설명드립니다. (터미널 탭) : 이 창을 통해 각 서버로 접속하여 상세한 컨트롤을 할 수 있습니다. (그룹 탭) : 모니터링 혹은 명령 전달을 특정 그룹별에 전달하기 위해 서버를..
클라이언트는 브라우저, 서버는 nodejs로 가정. 업데이트 진행 과정을 확인할 수 있도록 만들었다. 브라우저에서는 아래와 같은 코드로 작업을 하면 된다. 스트림으로 보낼 파일을 지정하고, 해당 서버로 소켓 연결해서 보낸다. 'data' 메세지를 통해 현재 업데이트된 사이즈를 확인할 수 있다.var fn =$("input[type=file]")[0].files[0]; // input 폼을 이용해서 지정된 파일 확인var AllSize = fn.size; // 진행 사항을 체크하기 위한 파일 전체 사이즈var UploadedSize = 0; // 현재 업로드된 용량var socket = io.connect('localhost:8765');var stream = ss.createStream();ss(sock..