Unity 시작
중요
Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.
App Center SDK는 모든 서비스를 사용할 수 있도록 모듈식 아키텍처를 사용합니다.
App Center 분석 및 크래시를 사용하도록 App Center Unity SDK를 시작하고 설정해 보겠습니다. 앱에 App Center 배포를 추가하려면 App Center 배포에 대한 설명서를 참조하세요.
1. 사전 요구 사항
시작하기 전에 프로젝트가 Unity 2018.1 이상에서 설정되었는지 확인합니다.
Unity용 App Center SDK는 다음 플랫폼을 지원합니다.
- iOS(9.0 이상)
- Android(5.0/API 21 이상)
- UWP(빌드 16299 이상)
참고
.NET 3.5 스크립팅 런타임 버전 및 .NET 스크립팅 백 엔드는 UWP 플랫폼에서 더 이상 지원되지 않습니다.
백 엔드 대신 코루틴/콜백을 사용하는 방법을 알아보려면 설명서의 async/await
.NET 3.5
Unity SDK 섹션에 있는 비동기 API 를 참조하세요.
또한 Unity용 App Center SDK는 C#에서만 사용할 수 있습니다.
2. App Center 포털에서 앱을 만들어 앱 비밀을 획득합니다.
App Center 포털에서 앱을 이미 만든 경우 이 단계를 건너뛸 수 있습니다.
- appcenter.ms.
- App Center에 등록하거나 로그인합니다.
- 포털의 오른쪽 위 모서리에 있는 새로 추가 라는 파란색 단추를 클릭하고 드롭다운 메뉴에서 새 앱 추가 를 선택합니다.
- 앱의 이름 및 선택적 설명을 입력합니다.
- 위에서 설명한 대로 프로젝트에 따라 적절한 OS 및 플랫폼을 선택합니다.
- 페이지 오른쪽 아래에서 새 앱 추가 단추를 클릭합니다.
앱을 만든 후에는 App Center 포털의 설정 페이지에서 앱 비밀을 가져올 수 있습니다. 설정 페이지의 오른쪽 위 모서리에서 세로 세로 점을 클릭하고 을 선택하여 Copy app secret
앱 비밀을 가져옵니다.
3. 프로젝트에 App Center SDK 추가
3a 확장 편집기 설치
App Center SDK는 Unity 패키지를 프로젝트로 가져와 통합됩니다. 이렇게 하려면 먼저 App Center Unity 편집기 확장 플러그 인을 설치합니다. Unity 메뉴: Windows > App Center > 편집기 확장을 통해 편집기 확장을 열고 "App Center SDK 설치"를 선택합니다.
참고
Unity 버전 2019.1.2f1 이상에서는 와 같이 Coroutine continue failure
설치하는 동안 로그에 오류가 있을 수 있습니다. 알려진 Unity 문제이며 무시해야 합니다.
3.1b 개별 패키지 설치
또는 각 개별 Unity 패키지를 다운로드하고 가져올 수 있습니다. App Center Unity SDK GitHub 페이지에서 찾을 수 있습니다. 사용하려는 패키지의 최신 릴리스를 다운로드합니다. 이름은 AppCenter{Analytics/Crashes/Distribute}-v{version}.unitypackage 형식이어야 합니다.
3.2b 패키지 가져오기
Unity 프로젝트를 연 다음 다운로드한 패키지를 두 번 클릭합니다. 파일 목록이 포함된 팝업 창이 Unity 프로젝트에 표시됩니다. 가져오기를 선택하면 SDK가 프로젝트에 추가됩니다. 다운로드한 각 패키지에 대해 이 단계를 반복하고 프로젝트에서 사용할 계획입니다.
4. SDK 사용
4.1 빈 게임 개체 만들기
App Center는 게임이 시작되는 장면에서 게임 개체에 연결하는 구성 요소로 작동합니다. 이 장면으로 이동하여 빈 게임 개체를 추가합니다. "App Center"와 같은 설명이 포함된 이름을 지정합니다.
4.2 App Center 스크립트 연결
프로젝트 창에서 프로젝트에 추가된 "AppCenter" 폴더로 이동합니다. AppCenterBehavior라는 스크립트를 찾아 계층 구조 창에서 새로 만든 게임 개체로 끌어옵니다.
참고
App Center를 사용하려는 모든 장면에 추가할 필요는 없습니다. 로드된 첫 번째 장면에 추가하는 것만으로도 충분합니다.
4.3 App Center 설정 구성
이 새 "App Center" 개체를 클릭하고 검사기 창의 해당 필드에 앱 비밀을 추가합니다. 사용하려는 각 App Center 서비스에 대해 "{service}사용" 상자도 검사 합니다.
경고
소스 코드에 앱 비밀을 포함하지 않는 것이 좋습니다.
참고
프로젝트가 설정에 나열된 세 가지 플랫폼 중 하나를 지원하지 않는 경우 앱 비밀 필드를 있는 그대로 둡니다. 영향을 주지 않습니다. 프로젝트에서 App Center가 지원하지 않는 플랫폼을 지원하는 경우 API 및 구성은 해당 플랫폼에 영향을 주지 않습니다.
SDK가 자동으로 수집할 포털에서 분석 및 진단(크래시 및 오류) 데이터를 시각화하도록 설정되어 있습니다.
App Center Analytics 및 App Center 크래시에 대한 설명서를 참조하여 두 서비스 모두에서 고급 기능을 사용하는 방법을 알아봅니다.
앱 내 업데이트를 시작하는 방법을 알아보려면 App Center 배포 설명서를 참조하세요.
5. 백업 규칙(Android에만 해당)
참고
Android 6.0(API 수준 23) 이상을 대상으로 하는 앱은 자동 백업을 자동으로 사용하도록 설정됩니다.
참고
백업 규칙이 있는 사용자 지정 파일이 이미 있는 경우 세 번째 단계로 전환합니다.
참고
사용자 고유의 AndroidManifest.xml 파일이 없는 경우 Assets/Plugins/Android 폴더에 만듭니다. 이 매니페스트는 빌드 시 기본 Unity에서 만든 매니페스트와 병합됩니다.
자동 백업을 사용하여 디바이스에 대한 잘못된 정보를 가져오지 않도록 하는 경우 다음 단계를 수행합니다.
5.1. Android 11(API 수준 30) 이하의 경우
- Assets/Plugins/Android/res/xml 폴더에 appcenter_backup_rule.xml 파일을 만듭니다.
- 프로젝트의 AndroidManifest.xml 파일을 엽니다. 요소에
android:fullBackupContent
특성을 추가합니다<application>
. appcenter_backup_rule.xml 리소스 파일을 가리킵니다.
android:fullBackupContent="@xml/appcenter_backup_rule"
- appcenter_backup_rule.xml 파일에 다음 백업 규칙을 추가합니다.
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
<exclude domain="sharedpref" path="AppCenter.xml"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
<exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
<exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
</full-backup-content>
5.2. Android 12(API 수준 31) 이상의 경우
- Assets/Plugins/Android/res/xml 폴더에 appcenter_backup_rule.xml 파일을 만듭니다.
- 프로젝트의 AndroidManifest.xml 파일을 엽니다. 요소에
android:dataExtractionRules
특성을 추가합니다<application>
. appcenter_backup_rule.xml 리소스 파일을 가리킵니다.
android:dataExtractionRules="@xml/appcenter_backup_rule"
- appcenter_backup_rule.xml 파일에 다음 백업 규칙을 추가합니다.
<data-extraction-rules xmlns:tools="http://schemas.android.com/tools">
<cloud-backup>
<exclude domain="sharedpref" path="AppCenter.xml"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
<exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
<exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
</cloud-backup>
<device-transfer>
<exclude domain="sharedpref" path="AppCenter.xml"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
<exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
<exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
</device-transfer>
</data-extraction-rules>