Crashlytics는 각 앱에 대해 자동으로 계산하여 비정상 종료가 발생하지 않은 측정항목, 특히 비정상 종료가 발생하지 않은 사용자의 비율과 비정상 종료가 발생하지 않은 세션의 비율을 표시합니다. 이러한 측정항목을 통해 앱의 안정성을 빠르게 이해하는 데 도움이 될 수 있습니다
이러한 비정상 종료가 발생하지 않은 측정항목의 차트는 Crashlytics 대시보드 상단에서 찾을 수 있으며, 기간, 빌드, Google Play 트랙(Android 앱의 경우)과 같은 다양한 측정기준으로 차트를 필터링할 수 있습니다.
비정상 종료가 발생하지 않은 측정항목은 심각한 이벤트(및 Unity 및 Flutter에서 심각한 것으로 보고된 포착되지 않은 예외)에 대해서만 계산됩니다.
비정상 종료가 발생하지 않은 측정항목 가져오기
대부분의 앱의 경우 앱에 Crashlytics SDK를 통합하면 비정상 종료가 발생하지 않은 측정항목이 자동으로 계산됩니다. 그러나 Crashlytics가 비정상 종료가 발생하지 않은 측정항목을 계산하는 데 필요한 데이터를 수신하지 않는 특정 상황이 있습니다.
이전 버전의 Crashlytics SDK를 사용하는 앱 빌드(아래에서 지원되는 최소 버전 알아보기)
자동 Crashlytics 데이터 수집 및 보고를 사용 중지하는 앱 빌드(이 페이지의 '데이터 수집 설정이 측정항목 품질에 미치는 영향' 섹션에서 자세히 알아보기)
비정상 종료가 발생하지 않은 측정항목을 지원하는 SDK 버전
비정상 종료가 발생하지 않은 측정항목을 가져오려면 이를 지원하는 Crashlytics SDK 버전을 사용하도록 앱을 업데이트해야 합니다. 다음은 비정상 종료가 발생하지 않은 측정항목을 지원하는 Crashlytics SDK의 최소 지원 버전입니다.
- Apple 플랫폼: v10.8.0 이상
- Android: v18.6.0 이상(BoM v32.6.0 이상)
- Flutter: v3.4.5 이상
- Unity: 11.7.0 이상
업데이트된 SDK 버전을 사용하는 앱 빌드의 비정상 종료가 발생하지 않은 측정항목이 자동으로 제공됩니다.
비정상 종료가 발생하지 않은 측정항목은 무엇인가요?
비정상 종료가 발생하지 않은 측정항목에는 비정상 종료가 발생하지 않은 사용자와 비정상 종료가 발생하지 않은 세션이 포함됩니다.
비정상 종료가 발생하지 않은 측정항목은 사용자와 세션이라는 두 가지 개념에 따라 달라집니다. 앱의 비정상 종료가 발생하지 않은 측정항목을 가져오려면 이러한 두 개념에 대한 데이터를 모두 전송할 수 있는 Crashlytics SDK 버전을 사용해야 합니다. Crashlytics가 사용자와 세션을 구분하는 방식은 다음과 같습니다.
사용자란 기기에 앱을 개별적으로 설치한 것입니다. 예를 들어 여러 기기에 앱을 설치한 사람이 있다면 Crashlytics는 각 설치를 서로 다른 순 사용자로 계산합니다.
세션은 사용자가 애플리케이션에 참여하는 연속적인 기간입니다. 앱이 콜드 스타트되거나 최소 30분의 백그라운드 작동 후 포그라운드 상태가 되면 새 세션이 시작됩니다.
또한 비정상 종료가 발생하지 않은 측정항목은 심각한 이벤트(및 Unity 및 Flutter에서 심각한 것으로 보고된 포착되지 않은 예외)에 대해서만 계산됩니다.
비정상 종료가 발생하지 않은 사용자 측정항목은 무엇인가요?
비정상 종료가 발생하지 않은 사용자 측정항목은 선택한 기간 동안 앱에 참여했지만 비정상 종료가 발생하지 않은 사용자의 비율입니다. 이 측정항목은 앱이 단일 사용자에게 제공하는 환경을 반영합니다. 목표가 전반적인 사용자 환경인 경우 전체 앱의 상태 측정항목으로 자주 추적됩니다.
이 측정항목은 특히 다음 유형의 앱에 적용될 수 있습니다.
길고 일상적인 세션이 있는 앱: 주문형 스트리밍 앱, 소셜 미디어 앱, 캐주얼 게임과 같이 사용자가 중단한 부분부터 이어서 계속할 수 있는 앱입니다. 사용자는 일반적으로 이러한 앱에 더 오래, 종종 다중 세션 환경에서 앱에 참여하므로, 개별 세션을 완벽히 유지하는 것보다 비정상 종료가 발생하지 않은 총 사용자 수를 극대화하는 것이 우선시됩니다.
사용자층이 확립된 앱: 확립된 작업 앱 또는 대규모 온라인 플랫폼과 같이 비정상 종료로 인한 불편함보다 이러한 플랫폼에 대한 습관과 요구가 더 중요한 경우입니다.
비정상 종료가 발생하지 않은 세션 측정항목은 무엇인가요?
비정상 종료가 발생하지 않은 세션 측정항목은 선택한 기간 동안 비정상 종료로 끝나지 않은 세션의 비율입니다. 비정상 종료가 발생하지 않은 세션은 앱의 전반적인 안정성을 나타내며 사용자 신뢰도를 구축합니다. 비정상 종료가 발생하지 않은 세션을 추적하는 것은 사용자의 첫 번째 상호작용 중에 비정상 종료가 발생하여 이탈로 즉각적으로 이어질 수 있는 새 출시 버전의 초기 단계에서 특히 중요합니다.
이 측정항목은 다음 유형의 앱에 자주 사용됩니다.
짧고 강렬한 사용 패턴이 있는 앱: 실시간 게임이나 시간에 민감한 스트리밍 앱과 같이 중요한 순간에 비정상 종료가 발생하면 사용자가 엄청난 피해를 입을 수 있습니다.
중대한 결과가 있는 앱: 금융 앱 또는 내비게이션 앱과 같이 환경의 최종 상태에 중점을 두는 앱입니다. 이러한 앱 중 하나에 비정상 종료가 발생하면 심각한 문제를 초래하여 앱의 신뢰 상실로 이어질 수 있습니다.
비정상 종료가 발생하지 않은 측정항목 계산
비정상 종료가 발생하지 않은 사용자는 어떻게 계산되나요?
비정상 종료가 발생하지 않은 사용자 값은 앱에 참여했지만 선택한 기간 동안 비정상 종료가 발생하지 않은 사용자의 비율을 나타냅니다.
비정상 종료가 발생하지 않은 사용자 비율을 계산하는 수식은 다음과 같습니다. 입력 값은 Crashlytics SDK에서 제공하며 이러한 값은 Crashlytics 대시보드 오른쪽 상단의 드롭다운 메뉴에서 선택한 기간을 기준으로 합니다.
CRASH_FREE_USERS_PERCENTAGE = 1 - (CRASHED_USERS / ALL_USERS)
CRASHED_USERS는 선택한 기간에 비정상 종료가 발생한 총 순 사용자 수를 나타냅니다.
ALL_USERS는 선택한 기간 동안 앱에 참여한 총 사용자 수를 나타냅니다.
비정상 종료가 발생하지 않은 사용자 비율은 평균이 아닌 시간 경과에 따라 집계된 값입니다.
계산 예시 보기
예를 들어 앱에 사용자 A, 사용자 B, 사용자 C라는 3명의 사용자가 있다고 가정해 보겠습니다. 다음 표는 매일 앱에 참여하는 사용자와 이날 비정상 종료가 발생한 사용자를 보여줍니다.
월요일 | 화요일 | 수요일 | |
---|---|---|---|
앱에 참여한 사용자 | A, B, C | A, B, C | A, B |
비정상 종료가 발생한 사용자 | C | B | A |
수요일에 비정상 종료가 발생하지 않은 사용자 비율은 50%입니다(사용자 2명 중 1명에게 비정상 종료가 발생하지 않음).
수요일에 사용자 2명이 앱에 참여했지만 2명 중 1명(사용자 B)에게만 비정상 종료가 발생하지 않았습니다.지난 2일 동안 비정상 종료가 발생하지 않은 사용자 비율은 33.3%입니다(사용자 3명 중 1명에게 비정상 종료가 발생하지 않음).
지난 2일 동안 사용자 3명이 앱에 참여했지만 3명 중 1명(사용자 C)에게만 비정상 종료가 발생하지 않았습니다.지난 3일 동안 비정상 종료가 발생하지 않은 사용자 비율은 0%입니다(사용자 3명 중 0명에게 비정상 종료가 발생하지 않음).
지난 3일 동안 사용자 3명이 앱에 참여했지만 3명 중 0명에게 비정상 종료가 발생하지 않았습니다.
비정상 종료가 발생하지 않은 사용자 값을 서로 다른 기간에 걸쳐 비교해서는 안 됩니다. 한 명의 사용자가 앱을 더 많이 사용할수록 비정상 종료가 발생할 가능성은 증가하므로 비정상 종료가 발생하지 않은 사용자 값은 기간이 길어지면 더 낮아질 수 있습니다.
비정상 종료가 발생하지 않은 세션은 어떻게 계산되나요?
비정상 종료가 발생하지 않은 세션 값은 앱에서 발생했지만 선택한 기간에 비정상 종료가 발생하지 않은 세션의 비율을 나타냅니다.
비정상 종료가 발생하지 않은 세션 비율을 계산하는 수식은 다음과 같습니다. 입력 값은 Crashlytics SDK에서 제공하며 이러한 값은 Crashlytics 대시보드 오른쪽 상단의 드롭다운 메뉴에서 선택한 기간을 기준으로 합니다.
CRASH_FREE_SESSIONS_PERCENTAGE = 1 - (CRASHED_SESSIONS / ALL_SESSIONS)
CRASHED_SESSIONS는 선택한 기간에 비정상 종료로 끝난 세션의 수를 나타냅니다.
ALL_SESSIONS는 선택한 기간에 앱에서 발생한 총 세션 수를 나타냅니다.
비정상 종료가 발생하지 않은 세션 비율은 평균이 아닌 시간 경과에 따라 집계된 값입니다.
데이터 수집 설정이 측정항목 품질에 미치는 영향
데이터 수집 설정에 따라 비정상 종료가 발생하지 않은 측정항목에 낮은 값 또는 0이 표시될 수 있습니다. 다음은 비정상 종료가 발생하지 않은 신뢰할 수 없는 측정항목을 유발할 수 있는 두 가지 일반적인 시나리오입니다.
자동 비정상 종료 보고를 사용 중지하여 보고 선택 옵션을 사용 설정하는 경우 데이터 수집에 명시적으로 동의한 사용자만 Crashlytics에 비정상 종료 정보를 전송할 수 있습니다. 따라서 Crashlytics에는 모든 사용자가 아닌 동의한 사용자의 비정상 종료 정보만 있으므로 비정상 종료가 발생하지 않은 측정항목의 정확성이 영향을 받습니다. 즉, 비정상 종료가 발생하지 않은 측정항목의 신뢰도가 낮아지고 앱의 전반적인 안정성을 반영하지 못할 수 있습니다.
자동 데이터 수집을 사용 중지한 경우
sendUnsentReports
를 사용하여 기기 내 캐시된 보고서를 Crashlytics로 전송할 수 있습니다. 이 메서드를 사용하면 비정상 종료 데이터가 Crashlytics로 전송되지만 세션 데이터는 전송되지 않으므로 콘솔 차트에 비정상 종료가 발생하지 않은 측정항목의 값이 낮거나 0으로 표시됩니다.