티스토리 뷰
Base Of Coding 베오코 Youtube 채널을 개설했습니다.
아직은 많이 부족하지만, 블로그에 있는 정보들을 영상으로 담아 보다 더 자세하게 알려드리겠습니다.
점차 발전해나가는 모습 지켜봐주시면 감사하겠습니다.
좋아요와 구독으로 응원해주세요!
https://www.youtube.com/channel/UC7abgcK0OZtkjU9ERbsYKnQ
=========================================================================
[ Unity 2017.2.0f3 버전을 사용합니다. ]
안녕하세요. Base Of Coding 입니다.
이번에 적을 글은, Unity Analytics입니다. 이제 현업으로 들어온 지 4개월차로 접어들면서, 많은 기능들을 추가하면서 배워왔는데요.
< 1. Unity Analytics란 ? >
제가 생각하는 유니티 애널리틱스란, 애플리케이션들을 배포하면서, 유저들의 사용패턴들을 들여다 볼 수가 있습니다. 그 패턴 분석들을 이용해서
사용자들이 원하는 기능 및 또는 최적화가 가능해질 수가 있습니다. 상황에 맞게 커스텀 이벤트들을 추가해준다면 아주 좋은 기능을 이용하실 수 있습니다.
< 2. 애널리틱스 사용하기 >
1. 프로젝트 생성
- 이름은 편하신대로 생성하시고, 위치 설정하는 부분 옆에 보시면, on / off 부분이 있습니다. 그 부분이 On 으로 되어 있다면, Analytics를 사용하겠다는 것이기 때문에,
사용하지 않으실 분들은 Off로 만들어놓고 사용하시면 됩니다.
2. 애널리틱스 사용하기
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Analytics; public class AnalyticsManager : MonoBehaviour { private static AnalyticsManager instance = null; private bool quitFlag = false; public static AnalyticsManager Instance { get { if (instance == null) { instance = FindObjectOfType(typeof(AnalyticsManager)) as AnalyticsManager; if (instance == null) { Debug.LogError("singleton create failed"); } } return instance; } } private void Awake() { DontDestroyOnLoad(this.gameObject); } private void OnApplicationQuit() { quitFlag = true; Analytics.CustomEvent("종료 분석", new Dictionary<string, object> { {"블로그" , "Base Of Coding"}, {"글 수", 38}, {"종료?",quitFlag} }); } public void ButtonClick() { Analytics.CustomEvent("ButtonClick", new Dictionary<string, object> { {"버튼 클릭","클릭 수"}, {"종료?", quitFlag} }); } } |
Analytics를 사용하기 위해서, 굳이 싱글톤 패턴을 만들 지 않아도 되지만, 사용하기 편하고, 다른 클래스로도 보내기 편해서 만들었습니다. 그리고 또한 애널리틱스만을 사용하기 위한 매니저 클래스이기 때문에
싱글톤 패턴으로 만들었습니다. 또한 DontDestroyLoad를 이용해서, 이 게임오브젝트는 꺼지지 않고, 씬을 이동해도 이 AnalyticsManager 스크립트를 가지고 있는 오브젝트는 살아있습니다.
quitFlag는, 앱이 종료되었다면, true값으로 만들어서, "종료 분석"이라는 커스텀 이벤트 안에 true로 값을 가지고 있을 것입니다. 물론, 버튼 클릭시에도 quitFlag에 대한 값을 가지고 있겠지만
물론 false겠죠?
그리고, ButtonClick이라는 함수를 하나 만들어, 버튼에 추가를 해주어, 버튼을 클릭할 때 마다 커스텀 이벤트를 사용하게 할 것입니다.
이제 여러분께선, UI 버튼을 하나 만들어서, 저 ButtonClick 클릭 리스너를 넣어주시면 됩니다.
이렇게 말이죠.
[ 버튼을 가운데에 두고, On Click 이벤트에, AnalyticsManager 스크립트를 가지고 있는 오브젝트를 추가해서, ButtonClick 함수를 사용가능하게 만들어줍니다. ]
3. 분석결과 바로보기
스크립트가 저와 같다면, ButtonClick이라는 이벤트와 종료 분석이라는 이벤트 안에 각각 파라미터의 상태들이 보일 것입니다.
ButtonClick은 이벤트이고, 버튼 클릭 > 클릭 수는 Key : Value 입니다. Dictionary를 사용했기 때문입니다.
나중에 분석을 할 때, ButtonClick이란 이벤트 안에 Key 값들에 따라, Value들이 나타나고, 그 Value들이 몇 번씩 호출 되어있는 지 하루마다 분석이 가능해지게 되는데요.
하지만, 저 Custom Event는.... 최소 8시간 ~ 최대 16시간 후에나 Unity3d 홈페이지에 있는 Projects에 Analytics -> EventManager에 추가가 됩니다.
이 점 꼭 명심해주시길 바랍니다. 왜 안나오지? 라는 생각보단, 아 이거 테스트 하기 꽤나 오래걸리겠구나.. 라고 생각하시면 편합니다.
1. Unity Dashboard 에 들어가서, 왼쪽 상단에 Operate를 클릭한 뒤, Projects 메뉴에서, 현재 애널리틱스를 사용할 프로젝트를 선택합니다.
2. 그 후, Analytics -> Event Manager를 클릭하면, 이벤트 관리자라는 창이 나옵니다.
3. 그 이벤트 관리자 창 맨 밑에 있는 것이 저희가 추가해주었던, 커스텀 이벤트인데 추가해준 커스텀 이벤트는 최대 16시간 후에 생성이 되기 때문에, 1~2일 뒤에 확인해보시면 될 것 같습니다.
커스텀 이벤트를 이용해서, 사용자들의 패턴 분석을 잘 하시길 바라겠습니다.
너무 뒤죽박죽으로 써버렸네요.. 맥북으로 작업하면서 올리는거라..ㅎㅎ
지금까지 Base Of Coding 이였습니다. 감사합니다.
- 이 글에 도움이 되셨다면, 공감(♡) 버튼과 댓글 부탁드리겠습니다. -
'게임 프로그래밍 ( 이제 안함 ) > Unity' 카테고리의 다른 글
Unity3D - MacOS 유니티 에셋 스토어 폴더 접근하기 (0) | 2019.04.19 |
---|---|
Unity3D - MacOS Unity 커스텀 스크립트 만들기 (0) | 2019.04.14 |
Unity3D - Unity Services 프로젝트 삭제방법 (0) | 2018.10.12 |
Unity3D - Android Keystore 만들기 (0) | 2018.09.21 |
Unity3D - 이벤트 함수에 대해서 (0) | 2018.09.06 |
- Total
- Today
- Yesterday
- 프리젠테이션 로직
- HTML
- 서블릿
- 프로그래밍
- Spring
- Unity
- 유니티로 배우는 C#
- Base Of Coding
- Servlet
- GitHub
- 유니티3D
- spring boot
- 유니티
- 안드로이드
- Vuforia
- baseofcoding
- Next.js
- MVC
- 뷰포리아
- Controller
- Git
- 게임프로그래밍
- 스프링
- 비지니스 로직
- Java
- VR
- c#
- unity3d
- JSP
- CSS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |