■ 개요
○ 오늘 계획
- 보상 정보 관련 상위 부모 클래스 만들기
- 매니저 초기화 테스트 편한 방법으로 고민해보기
- 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);
}
}