[Unity] 유니티 애널리틱스 커스텀 이벤트 적용하기 (Unity Analytics)

Posted by Dev Park
2019. 7. 25. 10:28 Unity

 

유니티 버전 : 2019.1.4f1

 

유니티로 개발한 앱은 유니티 서비스에서 애널리틱스를 활성화 해서 간단하게 여러가지 유저들의 사용패턴을 확인 할 수 있습니다.

물론 좀 더 세부적인 내용을 보려면 유니티 Plus를 사용해야 합니다만 기본적인 기능만으로도 여러가지 데이터를 볼 수 있습니다. 

 

먼저 애널리틱스를 사용하려면 유니티에서 서비스 -> Analytics 를 활성화 합니다. 

 

애널리틱스 활성화 후 커스텀 이벤트를 사용할 스크립트를 작성합니다. 

using UnityEngine.Analytics;

...
...

// 커스텀 이벤트 
AnalyticsEvent.Custom("Event_Name", new Dictionary<string, object>
{
	{ "MemoryCount", iMemoryCount }
});

우선 애널리틱스를 사용하기 위해 using UnityEngine.Analytics; 를 넣어줍니다. 

 

그후에 커스텀 이벤트가 필요한 함수에 

AnalyticsEvent.Custom("Event_Name", new Dictionary<string, object> 를 넣어주기만 하면 됩니다. 


위 내용에서 Event_Name은 커스텀 이벤트의 이름을 지정합니다. 

{ "MemoryCount", iMemoryCount }

이 부분은 {"키 네임" , 값} 으로 함수가 실행될 때 보내는 이름과 값입니다. 

 

예를들어 앱내에 특정한 버튼이 클릭 될때마다 해당 이벤트를 기록하려면 아래와 같이 사용하면 됩니다. 

    public void ButtonClick()
    {
        ButtonClickCounter++;
        AnalyticsEvent.Custom("ButtonClickCounter", new Dictionary<string, object>
        {
            { "ButtonClick", ButtonClickCounter }
        });
    }

작성한 이벤트를 확인 하려면 2가지 방법이 있습니다. 

 

우선 바로 확인하는 방법은 유니티 서비스 -> 애널리틱스에 Validator 에서 확인이 가능합니다. 

커스텀 이벤트를 적용하면 위 스샷과 같이 커스텀 이벤트가 활성화되고 하단에 Validator 부분에 커스텀 이벤트가 출력 됩니다. 

 

두번째로 유저들이 사용하는 커스텀 이벤트를 확인 하려면 유니티 대시보드에서 확인 할 수 있습니다. 

 

스토어에 서비스 중이어도 프로젝트를 연결하지 않으면 아무런 데이터가 없다고 나옵니다. 

먼저 스토어에 서비스 중인 앱을 프로젝트 셋팅에서 연결해 줍니다. 

 

 

프로젝트 셋팅에서 앱을 연결해도 애널리틱스 데이터가 바로 보이지는 않습니다. 

애널리틱스 데이터는 앱 연결 후 빠르면 하루 늦으면 2~3일 정도 이후부터 볼 수 있습니다. 

 

 

앱이 연결되고 사용된 데이터가 있으면 표시가 되기 시작합니다. 

애널리틱스가 기본적으로 표시해주는 정보외에 위에서 작성한 커스텀 이벤트를 보려면 데이터 익스플로러에서 커스텀 이벤트를 선택합니다. 

 

커스텀 이벤트 또한 적용 후 하루에서 2~3일 정도 이후부터 보이기 시작합니다. 

 

만약 커스텀 이벤트 코드 적용 후 빌드 시 

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:

오류가 발생하면 아래의 글을 참고해 주세요. 

[Unity] Gradle build failed 오류 대응 - DexArchiveMergerException

 

[Unity] Gradle build failed 오류 대응 - DexArchiveMergerException

유니티 빌드 시 나오는 오류 중 java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 오류에 대한 대응 방법입니다. 빌드 시 위와 같은 오류..

devparklibrary.tistory.com

애널리틱스 참고 매뉴얼 

https://docs.unity3d.com/Manual/UnityAnalyticsCustomEventScripting.html