티스토리 뷰

반응형

Base Of Coding 베오코 Youtube 채널을 개설했습니다.

아직은 많이 부족하지만, 블로그에 있는 정보들을 영상으로 담아 보다 더 자세하게 알려드리겠습니다.

점차 발전해나가는 모습 지켜봐주시면 감사하겠습니다.

좋아요와 구독으로 응원해주세요!


https://www.youtube.com/channel/UC7abgcK0OZtkjU9ERbsYKnQ



=========================================================================





[ Unity 2017.2.0f3 버전을 사용합니다. ]



안녕하세요. Base Of Coding 입니다.


이번에 적을 글은, Unity Analytics입니다. 이제 현업으로 들어온 지 4개월차로 접어들면서, 많은 기능들을 추가하면서 배워왔는데요.




< 1. Unity Analytics란 ? >



https://unity.com/kr/solutions/analytics 이 링크를 통해, 유니티 애널리틱스가 무엇인 지 확인 할 수도 있습니다.


제가 생각하는 유니티 애널리틱스란, 애플리케이션들을 배포하면서, 유저들의 사용패턴들을 들여다 볼 수가 있습니다. 그 패턴 분석들을 이용해서 


사용자들이 원하는 기능 및 또는 최적화가 가능해질 수가 있습니다. 상황에 맞게 커스텀 이벤트들을 추가해준다면 아주 좋은 기능을 이용하실 수 있습니다.





< 2. 애널리틱스 사용하기 >

1. 프로젝트 생성

- 이름은 편하신대로 생성하시고, 위치 설정하는 부분 옆에 보시면, on / off 부분이 있습니다. 그 부분이 On 으로 되어 있다면, Analytics를 사용하겠다는 것이기 때문에, 

사용하지 않으실 분들은 Off로 만들어놓고 사용하시면 됩니다. 



2. 애널리틱스 사용하기

- AnalyticsManager라는 오브젝트와 함께 같은 이름으로, 스크립트를 오브젝트에 추가해줍니다.





그냥 대충 예제로 보여드릴 스크립트입니다.

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<stringobject>
        {
            {"블로그" , "Base Of Coding"},
            {"글 수"38},
            {"종료?",quitFlag}
        });
    }
    public void ButtonClick()
    {
        Analytics.CustomEvent("ButtonClick"new Dictionary<stringobject>
        {
            {"버튼 클릭","클릭 수"},
            {"종료?", quitFlag}
        });
    }
}
 


Analytics를 사용하기 위해서, 굳이 싱글톤 패턴을 만들 지 않아도 되지만, 사용하기 편하고, 다른 클래스로도 보내기 편해서 만들었습니다. 그리고 또한 애널리틱스만을 사용하기 위한 매니저 클래스이기 때문에


싱글톤 패턴으로 만들었습니다. 또한 DontDestroyLoad를 이용해서, 이 게임오브젝트는 꺼지지 않고, 씬을 이동해도 이 AnalyticsManager 스크립트를 가지고 있는 오브젝트는 살아있습니다.


quitFlag는, 앱이 종료되었다면, true값으로 만들어서, "종료 분석"이라는 커스텀 이벤트 안에 true로 값을 가지고 있을 것입니다. 물론, 버튼 클릭시에도 quitFlag에 대한 값을 가지고 있겠지만


물론 false겠죠?


그리고, ButtonClick이라는 함수를 하나 만들어, 버튼에 추가를 해주어, 버튼을 클릭할 때 마다 커스텀 이벤트를 사용하게 할 것입니다.


이제 여러분께선, UI 버튼을 하나 만들어서, 저 ButtonClick 클릭 리스너를 넣어주시면 됩니다.


이렇게 말이죠.



[ 버튼을 가운데에 두고, On Click 이벤트에, AnalyticsManager 스크립트를 가지고 있는 오브젝트를 추가해서, ButtonClick 함수를 사용가능하게 만들어줍니다. ]



3. 분석결과 바로보기

일단 테스트용이기 때문에, Mac OS 또는 Windows 플랫폼에서 바로보게 하겠습니다.

안드로이드 또는 iOS 플랫폼을 이용해서, 바로보기는 불가능합니다. Unity Plus 버전을 사용하시면, Live Stream이란 것을 사용하실 수 있는데... 퍼스널 버전을 사용하시는 분은 죄송하지만 안됩니다.

그렇기 때문에, 테스트는 그냥 PC 플랫폼으로 보여드리도록 하겠습니다. Live Stream은, 어떻게 되어있는 지 올려드리겠습니다.

Windows 탭에서, Services를 클릭한 뒤, Analytics를 클릭합니다.

클릭하시면 이런 화면을 보시게 됩니다.



13세 미만의 어린이를 대상으로 하는 지를 물어봅니다. 저는 저 체크박스를 체크한 뒤, Continue를 눌러서 다음 화면으로 넘어가게 되면,

플레이 버튼을 눌러서, Analytics 서버와 연결을 해달라는 식의 화면이 나오는 데 플레이 버튼을 눌러서 조금 기다리게 되면 이런 창으로 넘어가게 됩니다.



애널리틱스가 정상적으로 사용 가능하게 되었습니다.

저희는 Custom Event가 어떻게 되어있는 지 확인하려고 하는것입니다. 그렇다면 한번 플레이 버튼을 눌러보고, 버튼을 클릭해보고, 플레이 버튼을 다시 눌러, 앱을 종료해보고서

저 Validator라는 곳을 다시 볼까요? 어떻게 되는 지?



스크립트가 저와 같다면, 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 이였습니다. 감사합니다.



- 이 글에 도움이 되셨다면, 공감(♡) 버튼과 댓글 부탁드리겠습니다. - 


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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
글 보관함