앱 품질 통계로 Firebase Crashlytics 및 Android vitals의 문제 분석

Firebase CrashlyticsAndroid vitals의 앱 비정상 종료 데이터를 Android 스튜디오에서 바로 확인하고 조치를 취할 수 있습니다. 이 통합을 통해 Crashlytics 및 Google Play의 스택 트레이스 데이터와 비정상 종료 통계를 스튜디오 IDE의 App Quality Insights 도구 창으로 가져오므로 브라우저와 IDE 간에 전환할 필요가 없습니다. 개발팀은 다음과 같은 주요 기능을 활용할 수 있습니다.

  • 관련 Crashlytics 이벤트 데이터가 있는 경우 코드에서 줄이 강조 표시됩니다.
  • 주요 비정상 종료에 관한 스택 트레이스를 확인하고 스택 트레이스를 클릭하여 코드에서 관련 줄로 이동합니다.
  • 주요 비정상 종료 및 심각하지 않은 이벤트에 관한 요약 통계를 확인합니다(예: 기기 제조업체 및 Android 버전별로 그룹화).
  • 심각도, 시간, 앱 버전을 비롯하여 속성별로 이벤트를 필터링합니다.
  • 이벤트에 관한 자세한 내용이 포함된 Crashlytics 대시보드 페이지를 여는 브라우저 링크를 가져옵니다.
  • 특정 문제의 근본 원인을 보다 쉽게 이해하고 해결하는 데 도움이 되는 유용한 정보를 얻으세요.

Android vitals 보고서는 Google Play에 게시된 모든 앱에서 사용할 수 있습니다. Crashlytics를 아직 사용하고 있지 않으며 제공 항목에 관해 자세히 알아보려면 Firebase Crashlytics를 참고하세요.

시작하기

Android 스튜디오에서 Crashlytics 데이터를 보려면 앱 프로젝트에서 Firebase 및 Crashlytics를 설정해야 합니다. 방법은 다음과 같습니다. Android 스튜디오에서 Tools > Firebase로 이동하여 Firebase Assistant를 열고 Crashlytics를 클릭한 후 튜토리얼에 따라 Firebase 및 Crashlytics를 프로젝트에 추가합니다. Firebase Assistant 워크플로에 관한 자세한 내용은 Android용 Firebase 시작 가이드를 참고하세요.

앱에 이미 Firebase와 Crashlytics를 추가했다면 아바타 아이콘 을 클릭하여 IDE에서 개발자 계정에 로그인합니다. 로그인한 후 App Quality Insights 도구 창을 클릭합니다. Crashlytics의 보고서로 채워진 Issues, Sample Stack Trace, Details 패널이 표시됩니다.

Android vitals 분석

앱 품질 통계에는 Android vitals 데이터가 포함되어 있습니다. 이를 통해, Google Play에서 수집한 핵심 측정항목에 더 쉽게 액세스하고 사용자 환경을 개선할 수 있습니다. Android vitals를 사용하여 앱 안정성과 관련된 문제를 해결하면 Google Play에서 앱의 품질을 개선하는 데 도움이 됩니다.

Android 스튜디오의 Android vitals 데이터

App Quality Insights 도구 창에서 Android vitals 문제를 보고 이를 필터링하고 스택 트레이스에서 코드로 이동할 수 있습니다. 시작하려면 다음 단계를 따르세요.

  1. 툴바 끝에 있는 프로필 아이콘 을 사용하여 Android 스튜디오의 개발자 계정에 로그인합니다.
  2. Android 스튜디오의 도구 창을 클릭하거나 View > Tool Windows > App Quality Insights를 클릭하여 App Quality Insights를 엽니다.
  3. App Quality Insights에서 Android vitals 탭을 클릭합니다.
  4. 선택사항: 디버그 가능한 빌드에 버전 제어 통합을 사용하려면 최신 Firebase Crashlytics SDK(또는 Firebase Android 재료명세서)를 앱에 추가합니다. 그런 다음 모듈 수준 build.gradle.kts 또는 build.gradle 파일에 다음 코드를 추가합니다. 디버그할 수 없는 출시 빌드에는 플래그가 기본적으로 사용 설정되어 있습니다.

Kotlin

android {
  buildTypes {
    getByName("debug") {
      vcsInfo {
        include = true
      }
    }
  }
}

Groovy

android {
  buildTypes {
    debug {
      vcsInfo {
        include true
      }
    }
  }
}

App Quality Insights 도구 창에는 사용자에게 발생하는 이벤트에 관한 유용한 정보를 제공하는 리치 데이터와 이러한 이벤트의 소스로 빠르게 이동하는 데 도움이 되는 링크가 포함되어 있습니다.

App Quality Insights 도구 창

  1. 애플리케이션 ID 드롭다운 메뉴를 사용하여 분석하려는 앱 ID를 선택합니다. 예를 들어 IDE에서 앱의 디버그 버전을 작업하는 동안 사용자가 설치하는 앱의 프로덕션 버전에 관한 이벤트 데이터를 확인해야 할 수 있습니다.
  2. Issues 패널은 Crashlytics에서 데이터를 보유한 상위 이벤트를 표시하며 가장 영향력이 큰 비정상 종료를 기준으로 정렬됩니다.
  3. 스택 트레이스가 유사한 변형 또는 이벤트 그룹별로 이벤트 보기 변형별로 이벤트를 분석하면 비정상 종료의 근본 원인을 식별하는 데 도움이 됩니다.
  4. 스택 트레이스가 있는 패널에는 Issues 패널을 클릭한 최근에 발생한 이벤트에 관한 세부정보가 표시됩니다. 이벤트의 스택 트레이스를 확인하고 스택 트레이스를 클릭하여 코드베이스의 관련 줄로 이동할 수 있습니다. 비정상 종료가 발생한 후 코드가 변경되었다면 스택 트레이스에서 오류 옆에 있는 Show diff를 클릭하여 현재 코드와 비정상 종료를 생성한 코드베이스 버전 간의 차이를 확인합니다.

    AQI 스택 트레이스에 차이를 표시하는 옵션입니다.

    또한 영향을 받는 기기 유형, Android 버전, 이벤트가 발생한 시간에 관한 정보와 Firebase Crashlytics 대시보드의 이벤트 링크도 있습니다. Close 버튼을 클릭하여 패널에서 바로 문제를 닫습니다.

  5. Details 패널은 비정상 종료 수를 기기 유형과 Android 버전별로 분석하므로 가장 영향을 많이 받는 사용자 그룹을 파악할 수 있습니다. 또한 비정상 종료가 발생한 앱 버전과 영향을 받는 사용자 수도 표시합니다.
  6. Firebase Console 및 팀원들이 확인할 수 있도록 메모를 읽고 문제에 첨부합니다. 문제에 관한 메모를 작성하려면 문제를 선택하고 Notes 패널을 엽니다. 메모를 작성하려면 Crashlytics 프로젝트에 쓰기 권한이 있어야 합니다. 메모 관련 문제는 Issues 패널에 '메모' 아이콘 과 함께 표시됩니다.
    앱 품질 통계 메모 패널
  7. 다양한 필터를 사용하여 이벤트의 특정 하위 집합으로 세부 조정할 수 있습니다. 시간, 앱 버전, Crashlytics 신호, 기기 제조업체 및 모델, Android 플랫폼 버전별 필터와 함께 Fatal 또는 Non-Fatal 이벤트를 선택하거나 선택 해제할 수 있습니다. Crashlytics 신호 상태의 경우 전에 종료된 문제가 앱의 새 버전에서 다시 발생하면 회귀된 것으로 간주됩니다.

스택 트레이스에서 코드로 이동할 수 있을 뿐만 아니라 코드에서 스택 트레이스로 이동할 수도 있습니다. 이제 Android 스튜디오에서는 비정상 종료와 관련된 코드 줄에 비정상 종료 여백 아이콘 으로 주석을 추가하므로 이를 쉽게 발견하여 디버그할 수 있습니다.

비정상 종료 아이콘 위로 마우스를 가져가면 해당 코드 줄과 관련된 이벤트 수와 이벤트 빈도를 보여주는 팝업이 표시됩니다.

비정상 종료 아이콘 위로 마우스를 가져가면 표시되는 이벤트 요약

특정 이벤트의 빈도와 해당 이벤트의 영향을 받는 사용자 수 등 이벤트에 관한 자세한 목록을 보려면 비정상 종료 아이콘을 클릭합니다. 특정 이벤트를 클릭하여 App Quality Insights 도구 창에서 이벤트 세부정보로 이동합니다.

비정상 종료 아이콘을 클릭할 때 표시되는 이벤트 목록

Android vitals와 Crashlytics의 다른 수치

Android vitals와 Crashlytics는 동일한 비정상 종료와 관련된 사용자 및 이벤트 수 값을 다르게 보고할 수 있습니다. 이러한 불일치가 발생하는 이유는 Play와 Crashlytics가 서로 다른 시간에 서로 다른 사용자의 비정상 종료를 포착할 수 있기 때문입니다. 다음은 Play 수와 Crashlytics 수가 다를 수 있는 몇 가지 이유입니다.

  • Play는 부팅 시 시작되는 비정상 종료를 포착하지만 Crashlytics는 Crashlytics SDK 초기화 후 발생하는 비정상 종료를 포착합니다.
  • 사용자가 새 휴대전화를 구매할 때 비정상 종료 보고를 선택 해제하면 이러한 비정상 종료는 Play에 보고되지 않습니다. 하지만 Crashlytics는 앱의 자체 개인정보처리방침에 따라 비정상 종료를 포착합니다.

오프라인에서 제한된 기능을 사용하여 조사

예를 들어 Refresh를 클릭하여 새로 요청했는데 Android 스튜디오가 Crashlytics와 통신할 수 없는 경우 앱 품질 통계 창에서 오프라인 모드로 진입합니다.

앱 품질 통계는 오프라인 모드를 제공합니다.

이 모드에서는 캐시된 데이터의 문제 및 최근 이벤트를 계속 조사할 수 있습니다. 일부 필터 옵션 변경이나 문제 종료와 같은 특정 기능은 사용할 수 없습니다. Crashlytics 연결을 다시 시도하고 온라인 상태로 돌아가려면 Reconnect를 클릭합니다.

오프라인 모드에서 앱 품질 통계에 다시 연결하는 옵션