기술 자료

지원

Cloud Diagnostics

Cloud Diagnostics

User Reporting 구성

Customize user reports with fields, metadata, attachments, and metrics to match your game's feedback needs.
읽는 시간 1분최근 업데이트: 한 달 전

User Reporting의 기본 설정은 일반적인 사용에 적합하지만 프로젝트가 발전함에 따라 필요에 맞게 변경해야 할 수도 있습니다. 애플리케이션에 어울리는 UI를 직접 만들어 커스텀 필드를 도입하거나 사용자 리포트 양식의 외관을 변경할 수 있습니다. 패키지에서 제공하는 샘플은 기능적이지만 단지 출발점일 뿐입니다. 사용자 리포트는 메타데이터, 이벤트, 샘플링된 지표, 스크린샷, 첨부 파일 등 유용한 정보를 포함합니다. 예를 들어 사용자의 게임 세이브 파일을 리포트에 첨부하거나, 플레이어가 특정 행동을 할 때마다 이벤트를 로깅할 수 있습니다. 또한 성능 소모가 큰 게임플레이 상황에서 성능 지표를 샘플링할 수도 있습니다. API를 사용하여 리포트에서 각 데이터 유형의 최댓값을 구성하십시오. UserReportExample 파일(Unity 프로젝트로 임포트한 샘플에 있음)은 리포트에 데이터를 추가하는 다양한 수단을 보여 줍니다. 예를 들어 다음 설정을 커스터마이즈하여 리포트에서 특정 데이터 유형의 최댓값을 제한할 수 있습니다.
  • FramesPerMeasure
    : 측정값은 지표의 수집된 각 샘플에서 처리하는 프레임 세트입니다. 기본 측정값 길이는 60프레임입니다.
  • MaximumMeasureCount
    : 측정값은 지표 샘플에서 처리하는 프레임 세트이며, 리포트의 측정 최댓값을 계산합니다. 기본 측정값은 300입니다.
  • MaximumEventCount
    : 이 제한은 리포트에 포함되는 이벤트 수에 적용됩니다. 기본값은 100입니다.
  • MaximumScreenshotCount
    : 리포트에 첨부 가능한 스크린샷의 최대 개수입니다. 기본값은 10입니다.
  • MetricsGatheringMode
    : 지표 수집 모드를 나타냅니다. 초당 프레임(Graphics.FramesPerSecond) 등 일부 지표는 기본 구성인 자동 모드를 사용하여 리포트에 포함될 수 있습니다. 수동 모드는 리포트에 커스텀 지표만 포함하며, 비활성화 모드는 샘플링된 지표를 리포트로 전혀 전송되지 않습니다.
이러한 설정에 제한은 없지만 높은 값을 설정하면 수집된 데이터가 리포트의 크기에 영향을 미칩니다. 특히 큰 고해상도 스크린샷은 리포트의 크기를 대폭 늘립니다. 사용자 리포트 설정을 구성하려면
UserReportingService.Instance..Configure(UserReportingClientConfiguration configuration)
메서드를 호출합니다.
var customConfig = new UserReportingClientConfiguration(5, 5, 100, 100, MetricsGatheringMode.Automatic);UserReportingService.Instance.UserReporting.Configure(customConfig);

리포트 생성 및 전송

리포트를 생성하려면
UserReportingService.Instance.UserReporting.CreateNewUserReport();
를 호출합니다.
리포트를 전송하려면
UserReportingService.Instance.SendUserReport(Action<float> progressUpdate, Action<bool> result)
를 호출합니다.
행동 파라미터를 가장 잘 이해하려면 샘플 예시를 참고하십시오. 리포트 전송은 필수는 아니지만 권장 사항입니다.

메타데이터 추가

메타데이터를 사용하여 게임에 대한 특정 데이터를 수집합니다. 이 데이터는 사용자 리포트에 기본적으로 포함된 디바이스 메타데이터와 함께 나타납니다. 커스텀 메타데이터를 추가하려면
UserReportingService.Instance.AddMetadata(string name, string value)
메서드를 호출합니다.
메타데이터를 추가하는 것은 성능에 거의 영향을 미치지 않습니다.

이벤트 로깅

커스텀 이벤트를 로깅하려면
UserReportingService.Instance.LogEvent(UserReportEventLevel level, string message)
메서드를 호출합니다.
이벤트를 로깅하는 것은 성능에 거의 영향을 미치지 않습니다.

샘플링 지표 추가

커스텀 샘플링 지표를 추가하려면
UserReportingService.Instance.SampleMetric(string name, double value)
메서드를 호출합니다.
SampleMetric
메서드는 성능에 거의 영향을 미치지 않고 매 프레임마다 호출하도록 디자인되었습니다. 그러나 위 메서드를 매 프레임마다 호출하면 각각의 이름이 리포트에 상당한 크기를 더할 수 있습니다.

스크린샷 추가

리포트에 스크린샷을 추가하려면
UserReportingService.Instance.TakeScreenshot(int maximumWidth, int maximumHeight)
메서드를 호출합니다. 스크린샷은 대시보드에서 리포트의 일부로 표시됩니다.
필요에 따라
UserReportingService.Instance.TakeScreenshot(int maximumWidth, int maximumHeight, object source)
를 사용하여 Camera 또는 RenderTexture 등 스크린샷의 소스를 지정할 수 있습니다.
이미지는 소스와 상관없이 maximumWidth 및 maximumHeight 파라미터에 정의된 크기에 맞을 때까지 축소됩니다. 최대 너비와 최대 높이를 선택하면 사용자 리포트는 10MB 이하여야 합니다. 마지막으로 촬영된 스크린샷이 대시보드에서 리포트의 썸네일로 사용됩니다. 참고: 스크린샷 촬영은 성능에 영향을 미칩니다. 사용자가 영향을 받지 않게 하려면 플레이어가 대기 상태(idle)일 때와 같이 성능이 중요하지 않은 경우에 스크린샷을 촬영하십시오.

첨부 파일 추가

동영상, 씬 그래프 등 첨부 파일을 추가합니다. 첨부 파일은 Base64 오브젝트로 인코딩됩니다.
UserReportingService.Instance.AddAttachmentToReport(string title, string filename, byte[] data)
를 사용하여 첨부 파일을 추가합니다.

리포트 차원 정렬

차원을 사용하여 Unity Dashboard에서 사용자 리포트를 필터링합니다. 리포트를 전송하기 전에 차원 프로퍼티에 항목을 추가하여 차원 및 지표를 추가할 수 있습니다. 각 차원 또는 지표에는 이름과 값이 있습니다. 다음을 호출하여 리포트에 새 차원을 추가할 수 있습니다.
UserReportingService.Instance.AddDimensionValue(string dimension, string value);
예를 들어 다음 차원이 있는 3개의 리포트를 살펴보겠습니다.

이름

PlatformAndroid
Version2
CategoryGraphics
PlatformWindowsPlayer
Version1
LanguageEnglish
PlatformWindowsPlayer
Version1
Platform.VersionWindowsPlayer.1
대시보드에서 다음 필터링 옵션을 참고합니다.

차원 이름

차원 값

CategoryGraphics
LanguageEnglish
PlatformAndroid
PlatformWindowsPlayer
Platform.VersionWindowsPlayer: 1
Version1
Version2
리포트마다 다른 차원을 추가할 수도 있습니다. 예를 들어 현지화된 리포트에 SystemLanguage를 차원으로 추가할 수 있습니다. 사용자가 리포트 요약에 단일 해시태그를 추가할 수도 있습니다. 이 해시태그는 차원으로 나타납니다. 예를 들어 ‘바닥을 뚫고 떨어졌어요 #FloorBug’는 다음과 같습니다.

차원 이름

차원 값

Hash TagFloorBug