본문 바로가기
GAME Dev/배포_관리

유니티 gaming services Analytics - 분석 서비스 세팅

by 루피캣 2023. 9. 22.
반응형

현재 유니티는 이전 분석 서비스를 레거시 Analytics라고 부르며

새롭게 사용을 권장하는 분석 서비스는 Analytics(gaming services에 속함)라고 부르고 있다.

 

가격은 기본 무료이고 유니티 에디터처럼 사용량에 따라 지불한다.

 

분석 서비스에는 다음의 정보를 제공한다.

  • 지난 7일 동안 플레이한 일수
  • 총 플레이 일수
  • 지난 7일 동안 가능한 일수
  • 지난 7일 동안 플레이한 세션
  • 지난 7일 동안 플레이한 플랫폼
  • 지난 7일간 일일 평균 플레이 시간(분)
  • 지난 7일 동안 플레이한 총 시간(분)
  • 지난 7일간 세션당 평균 플레이 시간(분)
  • 재생된 총 세션
  • 총 실제 통화 지출
  • 총 플레이 시간(단위: ms)
  • 전송된 총 이벤트
  • 지난 7일 동안 보낸 이벤트
  • 처음 본
  • 마지막으로 본
  • 첫 구매 시간
일일 신규 사용자 매일 처음으로 게임에 대한 데이터를 보낸 플레이어 수
일일 활성 사용자(DAU) 매일 활동하는 플레이어 수
월별 신규 사용자 매월 처음으로 게임에 대한 데이터를 보낸 플레이어 수
주간 및 월간 활성 사용자(WAU 및 MAU) 게임에서 활동하는 플레이어 수
세션 길이 게임을 플레이할 때의 평균 세션 시간
DAU당 세션 DAU당 세션 수

 

The data in the reporting dashboard is delayed by about 14 hours.

분석 데이터 리포팅은 실시간이 아니며 14시간 가량 후에 적용된다.

 

그리고 개발자가 직접 커스텀 이벤트를 등록할 수 있다.

 

유니티 서비스 데시보드에 접속

https://dashboard.unity3d.com/gaming/

 

Unity Gaming Services

 

dashboard.unity3d.com

 

  • UGS에 가입
  • 대시보드 프로젝트(앱)를 생성

 

  • 대시보드 Analytics에서 development 개발환경 추가  

유니티 gaming services Analytics 개발 환경

 

  • development의 Analytics enabled를 On

유니티 gaming services Analytics 세팅

 

  • Unity Editor 프로젝트에 연결

유니티 gaming services 에디터 세팅

  • Aalytics 패키지 import

유니티 gaming services Analytics 패키지 import

  • Service Enviroments에서 Development 선택

유니티 gaming services Analytics 개발환경 세팅

이벤트를 등록하는게 아니라면 따로 코드를 작성할 부분은 없다.

 

| 커스텀 이벤트 등록

대시보드 - 이벤트 관리자에서 커스텀 이벤트 등록이 가능하다.

유니티 분석 서비스의 기본 이벤트들이 등록되어 있고 켜고 끌 수 있다.

유니티 gaming services Analytics 이벤트

커스텀 파라미터 생성

유니티 gaming services Analytics 커스텀 이벤트 추가

Custom Event parameter  primitive types: 

  • string
  • int
  • long
  • float
  • double
  • bool

 

커스텀 이벤트 생성, 커스텀 파라미터 추가

유니티 gaming services Analytics 커스텀 이벤트 추가

Game Over 커스텀 이벤트가 Development 환경에 추가 됨,

유니티 gaming services Analytics 커스텀 이벤트와 기본 이벤트

게임 앱의 게임오버 시 아래 analyticsGameOver 함수를 호출하면

public string environment = "development";

async void Awake()
{
    try {
        var options = new InitializationOptions().SetEnvironmentName(environment);
        await UnityServices.InitializeAsync(options);
        
        AnalyticsService.Instance.StartDataCollection();

        } catch (Exception e)
        {
            Debug.LogException(e, this);
        }
}

public void analyticsGameOver()
{
    Dictionary<string, object> parameters = new Dictionary<string, object>()
    {
        { "stage", currentStage },
        { "subStage", currentSubStage }
    };

    AnalyticsService.Instance.CustomData("gameOver", parameters);
}

해당 데이터는 버퍼에 저장됐다가 버퍼가 비워질 때까지 60초에 한번씩 혹은 앱이 종료될 때 서버로 전송된다.

전송이 안됐다면 최대 5MB의 이벤트가 디스크에 캐시된다.

 

보내진 커스텀 이벤트는 15분 안에 이벤트 브라우저에서 확인이 가능하다.

유니티 gaming services Analytics 이벤트 브라우저

gameOver 이벤트에서 "View event content" 버튼을 누르면

gameOver된 stage, subStage 값을 볼 수 있다.

유니티 gaming services Analytics 커스텀 이벤트로 받은 정보

 

일부 지역에서는 법률에 따라 개인 데이터 수집에 대한 동의가 필요

 

플레이에게 개인정보 동의 확인 팝업을 띄우고 이에 따라 분기한다.

  • 플레이어가 옵트아웃을 원하는 경우 StopDataCollection()메소드를 호출
  • 플레이어가 자신의 데이터를 삭제하려는 경우 RequestDataDeletion()메서드를 호출
  • 플레이어가 동의 하는 경우 StartDataCollection()메소드를 호출

개인정보 처리 방침 동의에 따른 처리 방법

 

Application.OpenURL(AnalyticsService.Instance.PrivacyUrl); 

코드를 호출하면 유니티의 개인 정보 처리 방침 사이트(https://unity.com/kr/legal/privacy-policy)가 열린다.

 

공식 메뉴얼

https://docs.unity.com/ugs/en-us/manual/analytics/manual/overview

 

Introduction to UGS Analytics

Introduction to UGS Analytics#Note: By using UGS Analytics you agree that you have read and agree to the Terms of Service.Analytics, part of the Unity Gaming Services platform, provides an end-to-end data and analysis solution designed to support your enti

docs.unity.com

 

주의 : 개발한 앱을 향후 구글 애드몹으로 광고 집행을 하려면 전환 액션(설치 등)을 설정해야 하는데

ios의 경우 유니티 분석 서비스로는 불가능하다. 

향 후 ios앱의 광고를 위해서는 유니티 분석 서비스가 아닌 Firebase를 사용해야한다.

반응형
 

Bad Mouse 2

This is amazing Whack a Mole game ★★★★★

badmouse2.netlify.app

댓글