Share via


Unity SDK 문제 해결

중요

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아봅니다.

분석 데이터가 포털에 표시되지 않음

  1. SDK 모듈을 올바르게 통합했는지 확인합니다.
  2. 프로젝트에 연결된 AppCenterBehavior "App Center" 개체가 포함되어 있고 앱 비밀이 검사기 창의 해당 필드에 추가되었는지 확인합니다. 사용하려는 각 App Center 서비스에 대해 "{service}사용" 상자도 검사.
  3. 로그에 "App Center SDK가 성공적으로 구성됨"(자세한 정보 표시 로그 수준)을 확인한 다음 HTTPS 요청 로그가 표시되면 검사.
  4. 디바이스가 온라인 상태인지 확인합니다.
  5. 경우에 따라 로그가 포털에 표시되는 데 몇 분 정도 걸릴 수 있습니다. 그런 경우 잠시 기다립니다.
  6. App Center 백 엔드가 데이터를 수신했는지 검사 분석 서비스의 로그 흐름 섹션으로 이동합니다. 이벤트가 전송되면 표시됩니다.

포털에 크래시가 표시되지 않음

  1. SDK 모듈을 올바르게 통합했는지 확인합니다.
  2. 프로젝트에 연결된 AppCenterBehavior "App Center" 개체가 포함되어 있고 앱 비밀이 검사기 창의 해당 필드에 추가되었는지 확인합니다. 사용하려는 각 App Center 서비스에 대해 "{service}사용" 상자도 검사.
  3. 충돌 후 앱을 다시 시작합니다. App Center 크래시가 다시 시작한 후에만 크래시 로그를 전달합니다. 디버거를 연결한 경우 SDK는 크래시 로그를 저장하지 않습니다. 앱이 충돌할 때 디버거가 연결되지 않았는지 확인합니다.
  4. 로그에 "App Center SDK가 성공적으로 구성됨"(자세한 정보 표시 로그 수준)을 확인한 다음 HTTPS 요청 로그가 표시되면 검사.
  5. 디바이스가 온라인 상태인지 확인합니다.
  6. 경우에 따라 로그가 포털에 표시되는 데 몇 분 정도 걸릴 수 있습니다. 그런 경우 잠시 기다립니다.
  7. SDK가 다음 앱 시작 시 충돌을 감지한 경우 검사 하려면 API를 호출하여 앱이 마지막 세션에서 충돌했는지 여부를 검사 경고를 표시할 수 있습니다. 또는 크래시 콜백을 확장하여 서버에 성공적으로 전송되었는지 확인할 수 있습니다.
  8. App Center 백 엔드에서 크래시가 수신되었는지 검사 분석 서비스의 로그 흐름 섹션으로 이동합니다. 충돌이 전송되면 거기에 표시됩니다.
  9. 앱이 실제로 충돌하고 다시 시작되었는지 확인합니다. Unity는 기본적으로 처리되지 않은 예외의 대부분을 catch합니다. 즉, 앱이 종료되지 않고 크래시로 간주되지 않습니다. Unity에서 충돌이 발생하면 SDK에서 "오류"로 보고됩니다.

Android 프로젝트 빌드 실패

배포 모듈 버전 4.1.0 이상에는 Android 11을 지원하기 위한 새 매니페스트 태그가 있습니다. 이전에 2019.4 Unity 버전의 Unity를 사용하는 경우 오류를 AAPT: error: unexpected element <queries> found in <manifest>.방지하기 위해 gradle 버전을 명시적으로 지정해야 합니다. 프로젝트를 빌드하는 데 문제가 없도록 하려면 및 를 추가 mainTemplate.gradle 해야 하며 launcherTemplate.gradle (Unity 2019.4를 사용하는 경우에만 이 파일을 추가해야 합니다) 파일을 사용하여 그라데이션 버전을 명시적으로 지정해야 합니다. 프로젝트 설정>플레이어>Android 탭>게시 설정>빌드를 열고 사용자 지정 기본 Gradle 템플릿사용자 지정 시작 관리자 Gradle 템플릿을 선택합니다. 파일을 생성한 후 파일 맨 위에 다음 줄을 삽입합니다.

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.3'
    }
}

allprojects {
   repositories {
      google()
      mavenCentral()
      flatDir {
        dirs 'libs'
      }
   }
}

Unity를 사용한 Android 11용 빌드 지침에 대해 자세히 알아보세요.

App Center 비밀 값 보호

app_secret 앱의 식별자이며 트래픽이 적용되는 앱을 알아야 하며 기존 데이터를 검색하거나 편집하는 데 사용할 수 없습니다. app_secret 노출되는 경우 가장 큰 위험은 잘못된 데이터를 앱에 보내는 것이지만 데이터의 보안에는 영향을 미치지 않습니다.

중요한 데이터를 검색하려면 클라이언트 쪽에서 생성되는 앱/사용자 토큰을 제공해야 합니다. 클라이언트 쪽의 데이터를 완전히 안전하게 만들 수 있는 방법은 없습니다.

환경 변수를 사용하여 앱 비밀을 코드에 삽입하여 앱의 보안을 향상시킬 수 있습니다. 이렇게 하면 코드에 비밀이 표시되지 않습니다.