내일배움캠프 69일차 TIL : UGS 커스텀 이벤트

woollim·7일 전
0

내일배움캠프TIL

목록 보기
62/65
post-thumbnail

■ 개요

○ 오늘 계획

  • 보상 정보 관련 상위 부모 클래스 만들기
  • 매니저 초기화 테스트 편한 방법으로 고민해보기
  • UGS 초기화 위치 변경
  • UGS Analytics 개선 방법 생각해보기
  • UGS 이벤트, 파라미터 정리, 데이터 이용법 고민해보


■ UGS 초기화 위치 변경

○ 매니저스 스타트

    private async void Start()
    {

        await UnityServices.InitializeAsync();
        if (UnityServices.State != ServicesInitializationState.Initialized)
        {
            Logger.Log("USG 세팅 실패");
            return;
        }
        Logger.Log("USG 성공");
        AnalyticsService.Instance.StartDataCollection();

    }


■ UGS 커스텀 이벤트

○ 커스텀 이벤트

  • Unity Analytics가 업데이트 되며 기존 이용법가 달라졌는데, 어디에도 설명이 안써있어서 당황했었다.
  • 공식문서를 한글페이지로 보면 안보이고, 영문 페이지로 보면 보이는 히든 페이지가 있었다.(왜지..?)
  • 공식문서 링크
  • 대시보드에서 커스텀 이벤트를 만들어야 하는 것은 같다
  • 매개 변수 전달이 없다면 RecordEvent만 호출하면 되고 매개변수가 있다면 이벤트를 new로 생성해야 한다.

○ 프로젝트 코드

  • 만일 매개 변수가 없었다면 이것만 호출하면 되지만
AnalyticsService.Instance.RecordEvent("TopFail");
  • 층수를 전달해야 하므로 아래와 같이 해야함. if문 조건은 UGS가 초기화되지 않았을때는 이벤트를 발생시키지 않기 위함이다.
    public void TopFail()
    {
        Logger.Log("탑 도전 실패");
        pendingDeathNotification = "탑 등반에 실패하여 탑 입장 전의 기억으로 돌아왔습니다.";

        ResetTopData(); // 탑데이터 리셋
        Managers.Scene.LoadScene(ESceneName.Village); // 마을로 이동

        // UGS
        if (Unity.Services.Core.UnityServices.State == Unity.Services.Core.ServicesInitializationState.Initialized)
        {
            TopFailEvent topFailEvent = new TopFailEvent
            {
                TopFail_curFloor = TopCurFloor
            };
            AnalyticsService.Instance.RecordEvent(topFailEvent);
        }
    }

0개의 댓글