Unity의 애널리틱스 스탠다드 이벤트 가이드

Unity의 애널리틱스 시스템을 통해 게임에서의 플레이어 행동과 경험을 추적하는 방법에 대해 알아보겠습니다. 이 문서에서는 스탠다드 이벤트의 정의, 활용 및 구현 방법을 설명하고, 다양한 예제를 제공하여 이해를 돕겠습니다.

스탠다드 이벤트란?

스탠다드 이벤트는 사용자의 게임 내 행동을 모니터링하고 데이터를 수집하는 데 사용됩니다. 이를 통해 게임의 성능과 플레이어의 진행 상태, 참여도 및 수익화 측면을 실시간으로 분석할 수 있습니다.

주요 영역 추적

스탠다드 이벤트는 다음과 같은 다섯 가지 주요 분야에서 사용자 경험을 추적합니다:

영역 설명
애플리케이션 UI의 기본 요소 사용 추적
진행도 플레이어의 게임 내 진행 상황 추적
온보딩 최초 사용자 경험 추적
참여 소셜 액션 및 업적 등 중요한 행동 추적
수익화 수익 관련 이벤트 및 게임 경제 추적

이벤트 유형

각각의 영역에서 특정 이벤트를 사용하여 데이터를 수집할 수 있습니다. 아래 표는 유용한 스탠다드 이벤트 목록입니다.

애플리케이션 이벤트

이벤트 이름 목적
screen_visit UI 화면 열기
cutscene_start 컷씬 시작
cutscene_skip 컷씬 건너뛰기

진행도 이벤트

이벤트 이름 목적
game_start 새 게임 시작
game_over 게임 종료
level_start 레벨 시작
level_complete 레벨 완료
level_fail 레벨 실패
level_quit 레벨 중단

온보딩 이벤트

이벤트 이름 목적
first_interaction 최초 인터랙션 완료
tutorial_start 튜토리얼 시작
tutorial_step 튜토리얼 마일스톤 통과
tutorial_complete 튜토리얼 완료
tutorial_skip 튜토리얼 건너뛰기

참여 이벤트

이벤트 이름 목적
push_notification_enable 푸시 알림 활성화
push_notification_click 푸시 메시지 클릭
chat_msg_sent 채팅 메시지 전송

수익화 이벤트

이벤트 이름 목적
store_opened 상점 열기
store_item_click 상점 아이템 클릭
iap_transaction 인앱 구매
item_acquired 자원 획득

스탠다드 이벤트 구현

스탠다드 이벤트를 구현하기 위해 필요한 기본적인 네임스페이스는 다음과 같습니다.

using UnityEngine.Analytics;

이후 각 이벤트를 트리거하는 방식으로 다음과 같이 사용할 수 있습니다.

AnalyticsEvent.GameStart();

예제 코드: 레벨 이벤트 매니저

아래 코드는 레벨에서의 특정 이벤트를 추적하는 MonoBehaviour 클래스를 보여줍니다.

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.Analytics;

public class LevelEventManager : MonoBehaviour {
    public enum LevelPlayState {InProgress, Won, Lost, Skip, Quit}

    private Scene thisScene;
    private LevelPlayState state = LevelPlayState.InProgress;
    private int score = 0;
    private float secondsElapsed = 0;
    private int deaths = 0;

    void Awake () {
        thisScene = SceneManager.GetActiveScene();
        AnalyticsEvent.LevelStart(thisScene.name, thisScene.buildIndex);
    }

    public void SetLevelPlayState(LevelPlayState newState){
        this.state = newState;
    }

    public void IncreaseScore(int points){
        score += points;
    }

    public void IncrementDeaths(){
        deaths++;
    }

    void Update(){
        secondsElapsed += Time.deltaTime;
    }

    void OnDestroy(){
        Dictionary<string, object> customParams = new Dictionary<string, object>();
        customParams.Add("seconds_played", secondsElapsed);
        customParams.Add("points", score);
        customParams.Add("deaths", deaths);

        switch(this.state){
        case LevelPlayState.Won:
            AnalyticsEvent.LevelComplete(thisScene.name, thisScene.buildIndex, customParams);
            break;
        case LevelPlayState.Lost:
            AnalyticsEvent.LevelFail(thisScene.name, thisScene.buildIndex, customParams);
            break;
        case LevelPlayState.Skip:
            AnalyticsEvent.LevelSkip(thisScene.name, thisScene.buildIndex, customParams);
            break;
        case LevelPlayState.InProgress:
        case LevelPlayState.Quit:
        default:
            AnalyticsEvent.LevelQuit(thisScene.name, thisScene.buildIndex, customParams);
            break;
        }
    }
}

이 예제에서는 게임의 레벨 시작 및 종료와 관련된 데이터를 수집하는 방법을 보여줍니다. 각 레벨 상태에 따라 적절한 이벤트를 트리거하도록 설계되었습니다.

결론

이 문서에서는 Unity의 스탠다드 이벤트를 통한 애널리틱스 활용 방법에 대해 알아보았습니다. 다양한 이벤트를 통해 플레이어 행동을 추적하고 데이터를 분석하여 게임의 품질과 수익성을 향상시킬 수 있습니다. Unity의 애널리틱스 도구를 활용하여 보다 나은 사용자 경험을 제공하는 게임을 만들어 보세요!

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA