Unity 사용자 매뉴얼 2022.3 (LTS)
개요
이 문서는 Unity의 커스텀 이벤트를 사용하는 방법에 대한 설명입니다. 커스텀 이벤트를 통해 게임 성능 및 플레이어 행동에 대한 데이터를 수집하고 분석할 수 있습니다.
게이밍 서비스 분석
게이밍 서비스 분석은 게임의 성능과 플레이어 행동을 분석하여 전략적인 결정을 내리는 데 도움을 주는 서비스입니다. 현재는 프리뷰 패키지로 제공됩니다.
커스텀 이벤트 스크립팅
Unity의 AnalyticsEvent
네임스페이스를 사용하여 커스텀 이벤트를 스크립팅으로 전송할 수 있습니다.
코드 예제
아래는 플레이어가 비밀 위치를 찾았을 때 커스텀 이벤트를 전송하는 예제입니다.
// Unity Analytics 네임스페이스 참조
using UnityEngine.Analytics;
// 커스텀 이벤트를 전송하는 메서드
public void ReportSecretFound(int secretID) {
AnalyticsEvent.Custom("secret_found", new Dictionary<string, object>
{
{ "secret_id", secretID },
{ "time_elapsed", Time.timeSinceLevelLoad }
});
}
입력 파라미터
이름 | 유형 | 설명 |
---|---|---|
customEventName | 문자열 | 커스텀 이벤트의 이름입니다. 이름에는 "unity" 접두사를 포함할 수 없습니다. |
eventData | 딕셔너리 | 커스텀 이벤트가 트리거될 때 Unity 애널리틱스에 전송되는 추가 파라미터입니다. |
활용 및 응용 예제
- 아이템 수집 이벤트: 플레이어가 새로운 아이템을 수집했을 때 이벤트를 기록할 수 있습니다.
csharp public void ReportItemCollected(string itemName) { AnalyticsEvent.Custom("item_collected", new Dictionary<string, object> { { "item_name", itemName }, { "time_elapsed", Time.timeSinceLevelLoad } }); }
- 게임 종료 이벤트: 게임이 종료될 때 플레이어의 총 플레이 시간을 기록할 수 있습니다.
csharp public void ReportGameEnded() { AnalyticsEvent.Custom("game_ended", new Dictionary<string, object> { { "total_play_time", Time.timeSinceLevelLoad } }); }
- 레벨 클리어 이벤트: 플레이어가 레벨을 클리어했을 때 관련 데이터를 전송할 수 있습니다.
csharp public void ReportLevelCleared(int levelID) { AnalyticsEvent.Custom("level_cleared", new Dictionary<string, object> { { "level_id", levelID }, { "time_elapsed", Time.timeSinceLevelLoad } }); }
참고사항
- 커스텀 이벤트의 이름 및 키에 "unity" 접두사는 사용할 수 없습니다.
게임 내에서 발생하는 여러 이벤트를 추적하여 데이터 분석을 통해 더 나은 게임 경험을 제공할 수 있습니다. Unity의 커스텀 이벤트 기능을 활용해 보세요!