For the complete documentation index, see llms.txt. This page is also available as Markdown.

Crash 설정

IMQA Crash는 다양한 옵션이 존재하며, 사용자가 원하는 설정을 추가하여 더욱 자세한 크래시 리포트를 받아 보실 수 있습니다.

1. Custom Crash 발생

IMQA Crash Agent 에서는 다음과 같은 사용자 정의 에러를 수집할 수 있습니다. Exception 객체와 함께 특정 태그, 에러의 등급을 지정할 수 있습니다.

 try {
  ...
} catch (SomeException e) {
  IMQACrashAgent.SendException(e, "ERROR TAG", ErrorRank.Major);
}

에러 랭크의 경우 별도로 정해져있지는 않으며 앱의 구성에 따라 변경하여 사용가능합니다.

Rank
Description

ErrorRank.Unhandle

기본이 되는 에러 등급으로 처리하지 못한 크래시에 사용

ErrorRank.Critical

앱에 상당한 영향을 주는 크래시 일 경우

ErrorRank.Major

앱에 영향이 있는 크래시 일 경우

ErrorRank.Minor

앱에 큰 영향이 없는 크래시 일 경우

2. Custom Web Crash 발생

IMQA Webview Agent 에서는 웹뷰에서 발생하는 에러나 비즈니스 로직에서 발생하는 다양한 문제를 사용자 정의 에러로 수집할 수 있습니다.

사용자 정의 에러 수집할 js 파일
throw new IMQACustomError("사용자가 지정한 에러 메시지");

try {
	...
} catch (e) {
	throw new IMQACustomError(e)
}

커스텀 웹 에러 발생시, 아래와 같이 IMQA Crash, WCrash 에러 검색에서 에러 유형 ‘WCustom’으로 구분하여 검색하실 수 있습니다.

3. 특정 웹 크래시 수집 제한 옵션

IMQA Webview Agent 에서는 웹뷰에서 발생하는 에러 중 수집하고 싶지 않은 에러를 설정할 수 있습니다.

Option Name
Type
Default Value
Description

filterError

string[] | null

null

예) [”$”, “type”] - Agent가 수집한 에러(Web Crash)중 배열속 문자열이 포함된 에러라면 수집하지 않습니다. - 대소문자는 구분하지 않습니다. - [”type”]으로 옵션값을 설정하시면 “TypeError …”과 같은 에러도 수집되지 않습니다.

필수 설정과 특정 웹 크래시 수집 제한 옵션을 적용한 스크립트는 아래와 같습니다.

위와 같이 Agent 웹 크래시 수집 제한 설정시, IMQA Crash, WCrash에서 에러명에 "$" 또는 "type"이 포함된 웹 크래시는 수집되지 않습니다.

"type"이 포함된 에러명 예시

4. EventPath 등

EventPath는 사용자의 기기에서 앱이 어떤 경로로 동작하는지 파악하는 기능입니다. 이를 사용하기 위해서는 클래스에 EventPath 추적 코드를 넣어주어야 합니다. 추적코드에 ‘STEP’ 과 ‘LABEL’에 해당되는 내용을 넣어줍니다.

STEP
LABEL

수집할 콜스택의 단계, 해당 스텝의 클래스명, 함수이름, 호출 위치를 가지고 옵니다.

수집된 EventPath 의 별칭, 크래시 정보 창에서 EventPath의 각 발생 위치를 별칭으로 보여줍니다.

5. Custom User ID 등록

크래시 데이터 수집 시 특정 사용자를 식별하기 위한 ID 정보를 설정할 수 있습니다. 사용자 ID 정보를 설정한 후, Crash 에러 목록 에서 사용자 ID 정보로 에러를 조회할 수 있습니다.

SDK 옵션 상, MethodName은 사용자ID, 사용자 이름, 사용자 이메일로 작성되었으나 사용 예시이며, 실제 개인을 특정할 수 있는 직접 식별 정보 (특정 이름, 주민등록번호, 이메일 주소, 기타 유사 데이터) 보다는 2차 가공한 임의의 식별 정보를 사용하시기를 권고 드립니다. 예를 들어, 2차 가공한 식별자 (예: 2013133, A39233 등), 등급 정보 (예: VIP, Gold, Member), 유입 경로 (예: Google, N, K) 등으로 사용자의 유형 분류에 따른 분석이 가능합니다.

Class Name
Method Name
Description

IdentifierCollector

setCustomUserId(STRING)

사용자 ID-1 (Primary)

IdentifierCollector

setCustomUserName(STRING)

사용자 ID-2

IdentifierCollector

setCustomUserMail(STRING)

사용자 ID-3

SDK에서 사전 정의한 사용자의 ID 정보가 수집되었을 경우, MPM 행동분석 및 Crash 사용자별 에러 목록에서 사용자 ID 정보로 데이터 조회가 가능합니다.

6. Custom User Log/Key 등록

크래시가 발생하기 전에 원하는 로그를 개발자가 직접 추가로 남길 수 있습니다. (최대 100개)

Class Name
Method Name
Description

CustomLogCollector

log(STRING)

로그를 일반 문자열로 남깁니다.

CustomLogCollector

log(KEY, VALUE)

로그를 키:값 형태로 남깁니다.

7. 초기화 Option 추가

IMQAController 초기화 시 옵션을 지정할 수 있습니다. IMQA Crash 모드를 파라미터나 Option을 이용해 변경할 수 있습니다.

Class Name
Method Name

IMQAOption

setDirectUploadFlag(BOOL)

업로드 모드를 설정합니다. false 로 설정할 경우 debug mode 에서도 동작합니다.

IMQAOption

setPrintLog(BOOL)

Log 출력 여부를 설정합니다. true 로 설정할 경우 IMQA 의 Log가 출력됩니다.

IMQAOption

setAnrOn(BOOL)

ANR 을 모니터링 여부를 설정합니다. false 로 설정할 경우 ANR은 크래시 수집에서 제외됩니다.

IMQAOption

setAnrTimeoutIntercal(int)

ANR 타임아웃이 발생하는 시간을 설정합니다. (milliseconds 단위)

Last updated