# Crash and Exception Reporting 설정

> Enable Crash and Exception Reporting in the Unity Editor, and configure advanced custom metadata for detailed crash reports.

프로젝트에서 Crash and Exception Reporting을 설정하기에 앞서 [시작하기 가이드](../getting-started-with-cloud-diagnostics)의 기본 설정 요구 사항을 따랐는지 확인합니다. 프로젝트 ID를 Unity Dashboard의 프로젝트에 연결하는 것이 중요합니다. 대시보드가 기본 프로젝트 자격 증명으로 설정되면 Unity 에디터에서 프로젝트에 대한 Crash and Exception Reporting을 활성화할 수 있습니다.

Crash and Exception Reporting 활성화 방법:

1. Unity 에디터에서 프로젝트를 엽니다.
2. Unity 에디터 메뉴에서 Window > General > Services를 선택하여 Services 창을 엽니다.
3. Services 창에서 Cloud Diagnostics를 선택합니다.
4. Crash and Exception Reporting 옆의 토글을 선택하여 서비스를 켭니다.

## Advanced Cloud Diagnostics로 커스터마이즈된 리포트 설정##setting-up-customized-reports-with-advanced-cloud-diagnostics

기본적으로 크래시 및 예외 리포트는 디바이스 OS 등 표준 메타데이터와 함께 구성됩니다. Advanced Cloud Diagnostics를 활용하면 더 많은 디버깅 용량에 대해 커스텀 메타데이터를 추가할 수 있습니다. 이 커스텀 메타데이터는 게임이 처음 시작될 때, 새 레벨을 로드할 때, 플레이어가 특정 행동을 수행할 때 등 언제든 캡처될 수 있습니다.

크래시 및 예외 리포트는 크래시 리포트와 커스텀 메타데이터 구성을 위해 [CrashReportHandler](https://docs.unity3d.com/Documentation/ScriptReference/CrashReportHandler.CrashReportHandler.html) 클래스를 포함합니다. [SetUserMetadata](https://docs.unity3d.com/Documentation/ScriptReference/CrashReportHandler.CrashReportHandler.SetUserMetadata.html) 메서드를 사용하여 최대 64개의 커스텀 메타데이터 엔트리를 리포트에 추가할 수 있습니다.

다음 구문으로 트래킹할 새 메타데이터를 요청합니다.

```cs
UnityEngine.CrashReportHandler.CrashReportHandler.SetUserMetadata(“key”, “value”);
```

## 테스트 리포트 트리거##triggering-a-test-report

리포트를 트리거하여 [Unity Dashboard](http://dashboard.unity3d.com/)에서 보면서 Cloud Diagnostics 서비스를 테스트합니다. 예외를 일으키거나 Debug.LogException() 메서드를 통해 예외 메시지를 로깅하여 리포트를 생성합니다. 그렇게 하려면 첫 화면 로드 시 실행되는 스크립트 등 예외 발생을 테스트할 C# 스크립트 내에서 메서드를 찾고 다음 줄을 추가합니다.

```cs
Debug.LogException(new Exception(“Testing Cloud Diagnostics reports”));
```

스크립트를 저장하고 게임을 플레이 모드에서 실행합니다. Debug.LogException 메시지를 에디터 내 콘솔에서 볼 수 있을 것입니다.

## 테스트 리포트 보기##viewing-your-test-report

[Unity Dashboard](https://dashboard.unity3d.com/)에서 Cloud Diagnostics 리포트를 보려면 다음 단계를 따릅니다.

1. [Unity Dashboard](https://dashboard.unity3d.com/)를 엽니다.
2. 상단 내비게이션 메뉴의 프로젝트 선택자에서 Cloud Diagnostics가 활성화된 프로젝트를 선택합니다.
3. 메인 내비게이션 메뉴에서 **Suites** > **DevOps** > **Cloud Diagnostics** > **Crash and Exception Reporting**으로 이동합니다.
4. 테스트 리포트는 Problems 섹션에 있을 것입니다. 테스트 리포트의 제목을 선택하여 데이터를 봅니다.

## 새 리포트에 대한 알림 설정##setting-up-notifications-for-new-reports

Cloud Diagnostics는 개발 워크플로를 Unity가 아닌 툴과 연결할 수 있도록 연동을 통한 리포트 알림을 지원합니다. 새 문제가 리포트되었는지 확인하기 위해 대시보드를 수동으로 확인하는 대신 이메일, Slack, Discord, Trello 등 타사 연동을 통해 알림을 받을 수 있습니다.

리포트 알림을 설정하려면 다음 단계를 따릅니다.

1. [Unity Dashboard](https://dashboard.unity3d.com/)를 엽니다.

2. 상단 내비게이션 메뉴의 프로젝트 선택자에서 프로젝트를 선택합니다.

   * 참고: 리포트 알림을 설정하기 전에 이 프로젝트에 대해 Crash and Exception Reporting을 활성화했는지 확인하십시오.

3. 메인 내비게이션 메뉴에서 **Projects**를 선택합니다.

4. 펼친 드롭다운 목록에서 **Project settings** > **Integrations**를 선택합니다.

5. **New Integration** 버튼을 선택하고 팝업 모달에서 가이드를 따릅니다.

## 배치 모드 지원##batch-mode-support

2018.4.1 이상 및 2019.1.3 이상부터 [-batchmode](https://docs.unity3d.com/Manual/CommandLineArguments.html)에서 Unity를 실행할 경우, 네이티브 크래시 리포트가 지원됩니다. 네이티브 크래시 리포트는 앱을 [Server Build](https://docs.unity3d.com/Manual/BuildSettings.html)로 실행할 때도 지원됩니다. 배치 모드에서 실행할 때 커맨드 라인에서 -username 및 -password를 모두 지정해야 USYM\_UPLOAD\_AUTH\_TOKEN 오류를 피할 수 있습니다.

## 다음 단계##whats-next

크래시 및 예외 리포트를 활성화했으니 [이를 이해하고 관리하는 방법](./understanding-crash-and-exception-reporting.md)을 배워야 합니다.
