Unity 매뉴얼 스크립팅 API - 한국어 해설

소개

Unity에서 사용하는 게임 분석 서비스는 성능과 플레이어 행동을 이해하는데 도움을 줍니다. 이 문서에서는 이벤트 추적과 사용자 지정 이벤트에 대한 설명과 예제를 제공합니다.

애널리틱스 이벤트

스탠다드 이벤트와 커스텀 이벤트

  • 스탠다드 이벤트: 필수 또는 옵션 파라미터가 있는 미리 정의된 이벤트입니다.
  • 커스텀 이벤트: 개발자가 정의한 이벤트로, 추가 정보를 포함할 수 있습니다.

두 이벤트 모두 Dictionary<string, object> 형태로 파라미터 값을 전달할 수 있습니다. 이 때, 각 파라미터의 이름과 데이터 타입을 일관성 있게 유지해야 합니다. 예를 들어 스테이지 이름을 숫자로 보내면 안 됩니다.

키와 값의 조건

  • 커스텀 파라미터의 키는 “unity”로 시작해서는 안 됩니다.
  • 전달할 수 있는 최대 파라미터 수는 10개입니다.
  • 각각의 키 이름과 문자열 값은 100자를 넘을 수 없으며, 총 길이는 500자를 넘어서는 안 됩니다.

메모리 효율성

파라미터 사전을 클래스 멤버로 생성하여 재사용할 수 있습니다. 이렇게 하면 가비지 컬렉션을 줄이고 성능을 향상시킬 수 있습니다.

커스텀 이벤트 예제

아래는 커스텀 이벤트를 전송하는 C# 클래스 예제입니다.

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

public class MyCustomAnalyticsEvent : MonoBehaviour {
    private const string Name = "my_custom_event";

    private Dictionary<string, object> parameters 
        = new Dictionary<string, object>();

    void Start(){
        // 파라미터 정의 및 기본값 설정
        parameters.Add("character_class", "Unknown");
        parameters.Add("health", 0);
        parameters.Add("xp", 0);
        parameters.Add("world_x", 0);
        parameters.Add("world_y", 0);
        parameters.Add("world_z", 0);
    }

    public bool Dispatch(string characterClass, 
                         int health, 
                         int experience, 
                         Vector3 location){

        // 특정 이벤트에 대한 파라미터 값 설정
        parameters["character_class"] = characterClass;
        parameters["health"] = health;
        parameters["xp"] = experience;
        parameters["world_x"] = location.x;
        parameters["world_y"] = location.y;
        parameters["world_z"] = location.z;

        // 이벤트 전송
        AnalyticsResult result 
            = AnalyticsEvent.Custom(Name, parameters);
        return result == AnalyticsResult.Ok;
    }
}

이 예제는 커스텀 파라미터를 설정하고 이벤트를 전송하는 방법을 보여줍니다. Dispatch 메서드는 파라미터를 업데이트하고 이벤트를 전송합니다.

활용 예제

다음은 위의 예제를 응용한 다양한 상황입니다:

예제 이름 설명
캐릭터 레벨 추적 캐릭터의 레벨이 올라갈 때 추적
플레이 시간 분석 플레이어의 세션 시간 기록
아이템 사용 통계 특정 아이템 사용 시 이벤트 발생
퀘스트 완료 알림 퀘스트 완료 시 데이터 전송
사용자 행동 분석 클릭, 이동 등 사용자 행동 패턴 추적
시스템 오류 추적 에러 발생 시 마무리 이벤트 발생
다양한 등급의 유저 분류 유저 등급 분류에 따른 이벤트 차별화

이와 같은 예제를 통해 이벤트 추적 기능을 다양한 방식으로 활용할 수 있습니다. 이를 통해 더 나은 게임 경험과 사용자 분석이 가능해집니다.