레거시 Analytics에서 UGS Analytics로 업그레이드

배경

2021년 10월에 출시된 Unity Gaming Services는 유연한 솔루션으로 게임을 빌드하고, 관리하고, 성장시키는 데 도움이 되는 유연한 솔루션을 갖춘 종합적인 플랫폼입니다.

Analytics는 게임의 모든 데이터를 이해하고 분석할 수 있도록 지원하는 데이터 시각화 및 대시보드 툴입니다. 레거시 방식대로 Analytics를 스탠드얼론 툴로 사용할 수도 있지만, 다른 UGS 제품과 함께 사용하면 더 많은 기능을 활용할 수 있습니다. Analytics를 사용하면 개발에서 프로덕션에 이르기까지 게임을 분석할 수 있습니다.

Analytics는 여유롭게 사용할 수 있는 무료 티어로 시작할 수 있으며, 향후 규모를 확장함에 따라 사용한 만큼만 지불하면 됩니다. Analytics 가격 책정을 참고하십시오.

UGS Analytics에 대한 Unity Learn 교육 과정을 진행하여 UGS Analytics에 대해 자세히 알아보시기 바랍니다.

Analytics 시작하기

레거시 Analytics 사용자가 알아 두어야 할 사항

Unity는 UGS Analytics 플랫폼에 역량을 집중하기 위해 더 이상 레거시 Analytics에 투자하지 않으며, 2023년 6월부로 대시보드에 대한 vc 액세스를 중단했습니다. 새로운 프로젝트는 새로운 Unity Gaming Services Analytics 플랫폼 내에서 생성되므로 이 가이드의 도움을 받아 기존 프로젝트를 마이그레이션하는 것이 좋습니다.

지금까지 Unity는 전환 중에도 지표와 KPI를 안정적으로 유지할 수 있도록 데이터 파이프라인을 제공하여 기존 고객의 전환 프로세스를 가능한 한 간소화하기 위해 최선을 다했습니다. 데이터 파이프라인을 제공하는 것은 이 과정에서 지표와 KPI의 안정성을 보장하기 위해서였습니다. 그러나 2024년 4월 15일부터 이 파이프라인에서는 레거시 Analytics 플랫폼에서 UGS Analytics 대시보드로 새로운 데이터를 전달하지 않습니다.

Unity Analytics는 데이터 리텐션 정책에 따라 13개월 분량의 과거 데이터를 참고용으로 보관할 예정입니다. 플레이어 데이터를 계속 효율적으로 분석하려면 Analytics SDK를 프로젝트와 연동해야 합니다. Unity는 가능한 한 빨리 Analytics SDK와 연동하여 충분한 시간적 여유를 가지고 플레이어 기반에 최신 게임 버전을 도입할 것을 적극 권장합니다. 미리 준비해 두면 레거시 데이터 파이프라인 지원이 단계적으로 중단될 때 최대한 많은 플레이어 데이터를 확보할 수 있습니다. MAU 가격 책정에 대한 자세한 내용은 과금을 참고하십시오.

아래의 단계별 가이드는 Analytics SDK 설치 지침을 안내합니다. 전환에 대한 자세한 내용은 FAQ를 참고하십시오.

UGS 시작하기

1단계: 프로젝트 연결

Unity 에디터에서 로컬 프로젝트 빌드를 Unity 프로젝트 ID에 연결해야 합니다.

  1. Edit > Project Settings > Services로 이동합니다.
  2. 기존 자격 증명으로 로그인합니다.
  3. 드롭다운 목록에서 프로젝트를 선택하고 Link project ID를 선택합니다.

2단계: UGS Analytics SDK 설치

Unity용 최신 UGS Analytics SDK를 설치하려면 Unity 에디터 최신 버전을 사용하고 다음 단계를 따릅니다.

  1. Unity 에디터에서 Window > Package Manager를 엽니다.
  2. 패키지 관리자에서 Unity Registry 목록 뷰를 선택합니다.
  3. 패키지 목록에서 ‘Analytics’를 검색합니다(‘Analytics Library’ 아님).
  4. 패키지를 선택한 후 Install을 선택합니다.

패키지 관리자 기술 자료를 참고하십시오.

자세한 내용은 SDK 초안 수립을 확인하시기 바랍니다.

UGS Analytics SDK를 초기화하면 UGS Analytics SDK를 처음 실행할 때 newPlayer 이벤트가, 게임이 실행될 때마다 gameStarted와 clientDevice 이벤트가, 1분마다 gameRunning 이벤트가 각각 자동으로 전송됩니다. 스탠다드 이벤트를 참고하십시오.

이벤트는 발동하고 약 15분 뒤에 대시보드의 이벤트 브라우저에 표시됩니다. 다른 모든 Analytics 기능의 지표와 이벤트는 표시되는 데 최대 2시간이 소요될 수 있으며, 첫 실행 이후에는 1시간마다 새로 고침이 적용됩니다. 디버깅에 대한 자세한 내용은 여기에서 확인하십시오.

참고: 레거시 플랫폼과 새로운 Analytics 플랫폼 간의 데이터 연속성을 위해 새로운 UGS Analytics SDK에서 제공하는 userID를 사용하는 것이 좋습니다. 이 userID는 두 Analytics 플랫폼 간에 공유되며, 레거시 데이터 파이프라인은 이벤트 중복을 방지하기 위해 이 ID를 사용합니다. UGS Analytics SDK에서 userID에 대한 이벤트를 전송하면 해당 사용자는 레거시 데이터 파이프라인의 블랙리스트에 등록됩니다. 즉, 아직 레거시 Analytics로 전송되는 이벤트가 남아 있는 경우 해당 이벤트는 처리 후에 레거시 Analytics 대시보드에 정상적으로 표시되지만, 레거시 데이터 파이프라인을 통해 UGS Analytics에 전달되지는 않습니다.

3단계: 커스텀 이벤트 생성

이벤트 관리자에서 각 커스텀 이벤트를 생성하여 기록된 이벤트와 일치시킵니다.

  1. Unity Dashboard의 Analytics에서 Event Manager로 이동합니다.
  2. Custom Event를 생성하고 일치하는 이름을 지정합니다.
  3. Parameter를 만들어 할당하고, 이벤트가 무효 이벤트로 분류되지 않도록 모든 파라미터를 정의합니다.

참고: 게임 코드에서 생성했지만 이벤트 관리자에서 정의되지 않은 커스텀 이벤트는 유효하지 않은 것으로 간주되며 데이터를 트래킹하지 않습니다. 이러한 이벤트는 이벤트 브라우저에 표시됩니다.

4단계: 이벤트 로깅 메서드 변경

‘AnalyticsService.Instance.CustomData’ 메서드를 사용하여 커스텀 이벤트를 기록하는 게임 코드를 업데이트하는 방법은 여기에 자세히 나와 있습니다.

변경 전

public class GameLoginMonoBehaviour : MonoBehaviour
{
    public void OnGameOver()
    {
        int totalPotions = 5;
        int totalCoins = 100;
#if ENABLE_CLOUD_SERVICES_ANALYTICS
        Analytics.CustomEvent("gameOver", new Dictionary<string, object>
        {
            { "potions", totalPotions },
            { "coins", totalCoins }
        });
#endif
    }
}

변경 후

// Create parameter custom event (Same as Legacy Analytics)
public class GameLoginMonoBehaviour : MonoBehaviour
{
    public void OnGameOver()
    {
        int totalPotions = 5;
        int totalCoins = 100;
		// The 'gameOver' event will get queued up and sent with the
        // regular 60 second upload
        AnalyticsService.Instance.CustomData("gameOver", new Dictionary<string, object>
        {
            { "potions", totalPotions },
            { "coins", totalCoins }
        }); 

		// Optional - You can call Events.Flush() to send the event
		// immediately else it will be cached and sent with the next 
		// scheduled upload within the next 60 seconds
		Events.Flush();
    }
}

커스텀 이벤트는 이벤트 브라우저에서 확인되거나 새로운 데이터 탐색기에서 분석됩니다. 다양한 이벤트를 여러 번 테스트해야 하는 경우, 테스트 환경을 구축하여 실시간 환경에서 플레이어의 데이터만 보관할 수 있습니다. 여기에서 환경에 대해 자세히 알아보십시오.