Version: 5.3
고급 통합(SDK)(Advanced Integration(SDK))
과금

커스텀 이벤트

커스텀 이벤트는 사용자가 게임에서 수행하는 특정 행위입니다. 이는 Unity 애널리틱스가 자동으로 추적하지 않는 레벨 달성, 씬 변경, 스토어 입장, 게임 오브젝트와 상호 작용 등과 같은 동작을 추적할 수 있게 합니다. 각 커스텀 이벤트는 각각의 파라미터가 있습니다. 이벤트의 파라미터를 설정하면 이벤트가 발생한 시점에 모인 데이터를 선별할 수 있습니다. 커스텀 이벤트의 시각화 툴은 애널리틱스 대시보드에서 볼 수 있으며, Data Explorer, Funnel Analyzer, Segment Builder가 있습니다.

// Reference the Unity Analytics namespace
using UnityEngine.Analytics;

//  Use this call for wherever a player triggers a custom event
Analytics.CustomEvent(string customEventName,
IDictionary<string, object> eventData);
UnityAnalytics.CustomEvent Input Parameters
Name Type Description
customEventName string Name of custom event. Name cannot include the prefix “unity.” — This is a reserved keyword.
eventData dictionary Additional parameters sent to Unity Analytics at the time the custom event was triggered. eventData key cannot include the prefix “unity.” — This is a reserved keyword.

아래는 커스텀 이벤트에 대한 몇몇 주의 사항입니다.

  • 이벤트 데이터의 각 파라미터는 동일한 데이터 타입을 가져야 합니다. 예를 들어, 레벨 파라미터를 숫자로 보내고 문자열으로 변경하지 말아야 합니다. 이러한 경우 오류가 동작하여 데이터 해석이 어렵게 됩니다.
    • 부울(true/false)
    • 문자열(문자)
    • 숫자(정수, 실수 등)
  • 커스텀 이벤트는 디폴트로 최대 10개의 파라미터를 가질 수 있습니다.
    • 전달되는 파라미터가 그 이상인 경우 호출이 실패하며 AnalyticsResult.TooManyItems 값을 반환합니다.
  • 사전 콘텐츠는 500자로 제한되어 있습니다.
    • 이 값을 초과하여 전달되는 경우 호출이 실패하며 AnalyticsResult.SizeLimitReached 값을 반환합니다.
  • 한 사용자당 1시간마다 사용할 수 있는 커스텀 이벤트의 수는 최대 100입니다.
    • 이 값을 초과하여 호출되는 경우 호출이 실패하며 AnalyticsResult.TooManyRequests 값을 반환합니다.
  • 애널리틱스 시스템에서 파라미터가 어떻게 해석되는지 고려해야 합니다.
    • 모든 number, int, float는 문자열으로 보내졌을 경우에도 숫자로 해석됩니다.
    • ’categorizable’로 간주되는 것은 문자열과 부울뿐입니다.
    • 따라서 무언가의 합이나 평균을 구하고 싶은 경우 숫자로 보내야 합니다. 예를 들어, ’51’나 51로 보내면 됩니다. 레벨이나 옵션과 같이 분류를 원하는 경우에는 문자열으로 분석되도록 해야 합니다. 예를 들어 ’51’로 보내면 됩니다.

아래 예제를 통해 게임이 종료되는 시점에서 사용자의 인벤토리에 무엇이 있는지 파악할 수 있습니다.

// Reference the Collections Generic namespace
  using System.Collections.Generic;

  int totalPotions = 5;
  int totalCoins = 100;
  string weaponID = "Weapon_102";
  UnityAnalytics.CustomEvent("gameOver", new Dictionary<string, object>
  {
    { "potions", totalPotions },
    { "coins", totalCoins },
    { "activeWeapon", weaponID }
  });

플레이(Play) 누름

커스텀 이벤트 데이터를 서버에 시범 전송하여 통합이 제대로 완료되었는지 확인하려면 에디터 플레이 모드에서 커스텀 이벤트를 트리거해야 합니다. 통합이 성공적으로 완료되었으면 테스트 데이터가 아래 표에 표시됩니다.

통합이 성공적인 경우 테스트 데이터는 아래 표에 나타납니다.

검증

고급 통합(SDK)(Advanced Integration(SDK))
과금