기술 자료

지원

Cloud Diagnostics

Cloud Diagnostics

SDK 마이그레이션 가이드

Update your User Reporting implementation from version 1.0 to version 2.0 to access the latest features and updates.
읽는 시간 1분최근 업데이트: 한 달 전

User Reporting SDK가 업데이트되어 전체 API에 영향을 미칩니다. 무엇보다 개발 초점과 지원 범위를 위해 공개 API 범위가 크게 줄어들었습니다. User Reporting 1.0은 구 SDK를 가리킵니다. 참조용 배포는 여기서 받을 수 있습니다. User Reporting 2.0은 Unity 패키지 관리자에서 이용 가능한 업데이트된 SDK입니다.

중요 변경 사항

  • 전체 API는 이제
    Unity.Services.UserReporting
    네임스페이스에 있습니다.
  • 이 API는
    Unity.Services.UserReporting.Instance
    를 통해 단일 액세스 포인트를 사용합니다.
  • 전체 소스 코드는 이제 공개적으로 액세스되지 않으며, 이에 따라
    CyclicalList
    같은 헬퍼를 SDK에서 이용할 수 없습니다.
  • SDK는
    SimpleJSON
    파서나
    PngHelper
    클래스(둘 다 제거됨) 등 소스 코드 종속성에 대한 액세스를 포함하거나 제공하는 대신 외부 종속성을 사용합니다.
  • 리포트 전송 시 발생할 수 있는 메모리 누수 수정 등 백포팅된 버그 수정이 다수 있습니다.
  • AsyncUnityUserReportingPlatform
    이 제거되었습니다.
  • 샘플 프리팹 GUI가 이제 디스플레이에 따라 확대/축소됩니다.
구 SDK의 낡은 요소들은 이제 지원되지 않는 것으로 간주됩니다.
SimpleJSON
파서 등 헬퍼에 의존한다면 계속 사용할 수는 있지만 이를 다른 대안으로 대체할 것을 적극 권장합니다. Unity는 이전 SDK 버전의 그러한 요소들을 관리하거나 지원하지 않을 것입니다.
프로젝트의 새 기능을 위해
PngHelper
등 구 SDK 헬퍼에 의존하는 것을 고려하고 있다면 구식 SDK에 의존하는 대신 다른 대안을 모색하는 것이 좋습니다.
User Reporting API는 User Reporting 관련 기능에 초점을 맞추며 향후의 API의 잦은 변경을 방지하는 데 기여합니다. 또한 Unity가 SDK의 User Reporting 부분만 유의미하게 지원하고 개선하도록 도와줍니다.

새 예시 프리팹 사용

예시 출발점에 포함되었던 이전 버전의 SDK가 업데이트되고 대체되었습니다. 동일한 최종 사용자 기능을 제공하며 씬에서 대체 가능합니다.

리포트 생성

사용자 리포트 오브젝트는 이제 수동 생성되지 않습니다. 그 대신 한 번에 하나의 리포트를 생성하여 전송할 수 있습니다. 진행 중인 리포트는 ‘진행 중’ 리포트로 표시됩니다. 새 사용자 리포트를 생성하는 경우 이전의 진행 중 리포트가 있다면 해당 이전 리포트는 지워집니다.
UserReportingService.Instance.CreateNewUserReport();
한 번에 두 개 이상의 리포트를 위한 데이터를 수집하고 배열하려면 데이터에 대한 책임을 관리한 다음 해당 데이터가 전송 준비가 되었을 때 리포트로 익스포트해야 합니다.

리포트 전송

SDK는 이제 한 번에 하나의 리포트만 처리할 수 있습니다. API는 UserReport 오브젝트를 전송 메서드에 제공하는 대신 진행 중 리포트 전송을 위한 단일 호출
UserReportingService.Instance.SendUserReport(...)
를 갖습니다.
또한 진행 중 리포트는 이제 단일 콜백 대신 별도의 두 가지 콜백(선택 가능)을 제공합니다. 하나는 제출 진행 업데이트를 위해 사용되며, 다른 하나는 리포트 제출 시도가 끝났을 때 사용됩니다.
UserReportingService.Instance.SendUserReport((uploadProgress) =>{ // The progressUpdate Action uses the uploadProgress float to indicate progress from 0.0 -> 1.0 Debug.Log("${uploadProgress:P}");},(success) =>{ // The result Action uses the success bool to indicate whether or not the submission succeeded if (!success) { Debug.Log("Failed to send report!"); }});

데이터 추가에 대한 일반적인 변경 사항

개별 오브젝트 값을 개별 리포트 오브젝트의 목록에 추가할 때는 과거 사용된 생성자와 동일한 인수를 갖는 특수 함수가 사용되며 모든 곳에 적용됩니다. 다음 예시를 참고하십시오. 여기서는 새 리포트 차원을 추가합니다. 1.0 새 리포트 차원 추가 예시:
UserReport current;UnityUserReporting.CurrentClient.CreateUserReport((report) => { current = report;});current.Dimensions.Add(new UserReportNamedValue("Category", “Value”));
2.0 새 리포트 차원 추가 예시:
UserReportingService.Instance.AddDimensionValue("Category", “Value”);

커스텀 첨부 파일 추가

SDK에는 이제 사용자 리포트 오브젝트 자체에 첨부 파일을 직접 추가하는 대신 진행 중 리포트에 첨부 파일을 추가하는 함수가 있습니다.
string content = "{}"; // An empty JSON object for example purposes.UserReportingService.Instance.AddAttachmentToReport("Sample Attachment JSON", "SampleAttachment.json", Encoding.UTF8.GetBytes(content), "application/json");
(디바이스) 메타데이터 추가 ‘디바이스 메타데이터’라는 이름이 메타데이터로 일반화되었습니다. 마찬가지로 이를 위한 함수가 있습니다.
UserReportingService.Instance.AddMetadata(“Example Name”, “Example Value”)

결론

User Reporting 대시보드는 이 문서 작성 시점을 기준으로 동일하게 유지됩니다. SDK 최신 버전으로 업그레이드할 때 User Reporting에 대한 공식 기술 자료를 참고하십시오.