IMQA MPM 프레임워크가 데이터를 저장하는 주기와 수집하는 주기에 대해서 초 단위로 설정할 수 있습니다.
Objective-C 설정 방법
AppDelegate.m
IMQAConfig* mpmConfig = [[IMQAConfig alloc] init:@"PROJECT_KEY"];
mpmConfig.dump_interval = 10; // 성능 데이터 덤프를 뜨는 주기 (sec)
mpmConfig.save_interval = 60; // 성능 데이터를 수집서버로 전송하는 주기 (sec)
Swift 설정 방법
AppDelegate.swift
let mpmConfig =IMQAConfig("<PROJECT_KEY>")mpmConfig.dump_interval =10// 성능 데이터 덤프를 뜨는 주기 (sec)mpmConfig.save_interval =60// 성능 데이터를 수집서버로 전송하는 주기 (sec)
설치형 고객사 수집 서버 설정
설치형으로 진행 된 고객사에서는 반드시 이 부분 설정이 필요합니다.
IMQA MPM 프레임워크가 수집하는 데이터를 보내는 수집 서버를 별도로 설정하실 수 있습니다. 기본적으로는 SaaS 서비스를 이용하는 고객은 별도 설정이 필요하지 않습니다.
let mpmConfig =IMQAConfig("<PROJECT_KEY>")mpmConfig.downloadDumpData =true
Custom User ID 등록
성능 데이터 수집 시 특정 사용자를 식별하기 위한 ID 정보를 설정할 수 있습니다. 사용자 ID 정보를 설정한 후, MPM 행동분석 에서 사용자 ID 정보로 행동 흐름을 조회할 수 있습니다.
Custom User ID 등록시, 사용자 식별을 위해 사용자 로그인 후의 화면, 홈 화면 또는 스플래시 화면에 추가해 주세요.
SDK 옵션 상, MethodName은 사용자ID, 사용자 이름, 사용자 이메일로 작성되었으나 사용 예시이며, 실제 개인을 특정할 수 있는 직접 식별 정보 (특정 이름, 주민등록번호, 이메일 주소, 기타 유사 데이터) 보다는 2차 가공한 임의의 식별 정보를 사용하시기를 권고 드립니다.
예를 들어, 2차 가공한 식별자 (예: 2013133, A39233 등), 등급 정보 (예: VIP, Gold, Member), 유입 경로 (예: Google, N, K) 등으로 사용자의 유형 분류에 따른 분석이 가능합니다.
WKWebView 데이터 수집을 원한다면 웹 페이지에 IMQA WebView JavaScript라이브러리를 삽입해 주어야 합니다. 원하는 경우 파일을 다운로드 받아 웹 페이지에서 직접 경로를 추가하여 사용 할 수 있습니다.
(크로스 오리진 문제 발생시 직접 import 해서 쓰시는걸 권장드립니다.)
IMQA WebviewAgent는 2가지 방식으로 설치 방법을 제공하고 있습니다. CDN 서버로 연결하거나, 설치형 혹은 CDN으로 요청을 못하시는 경우 해당 스크립트를 다운로드 받아서 사용 가능합니다. 아래의 링크를 통해서 마우스 오른쪽 버튼을 누른 후 “다른 이름으로 저장”을 눌러서 연결해 주세요.
funcuserContentController(_userContentController: WKUserContentController, didReceivemessage: WKScriptMessage) {// IMQA 설정 부분if(message.name =="ImqaBridge") { IMQAMpm.sharedInstance.saveWebviewPostMessage(self,"\(message.body)") }}overridefuncviewDidLoad() { super.viewDidLoad()let request =URLRequest(url: URL(string: url)!) webView.load(request)// IMQA 설정 부분 webView.configuration.userContentController.add(self, name:"ImqaBridge")}
SPA 전용 옵션
SPA에서는 하나의 index.html을 기준으로 수집되기에 page 변경에 대한 이벤트가 없습니다. SPA 전용 옵션을 설정하여 path가 변경되었을 때 기준으로 일정 시간까지를 수집하실 수 있습니다. SPA에서는 path 변경 시 특정 DOM이 교체되므로, 이 특정 DOM을 Agent 옵션에 타겟으로 설정하면 정상적으로 SPA에서도 페이지 로딩시간을 수집할 수 있습니다.
let configuration = URLSessionConfiguration.ephemeral // or default
configuration.protocolClasses = IMQAMpm.sharedInstance.imqaURLSessionProtocol()
let session = URLSession.init(configuration: configuration)
4. dSYM 설정
iOS의 Symbolication(기호화) 적용이 된 앱의 경우, dSYM 설정을 통해 클래스 명과 함수 명을 확인할 수 있습니다.
❶ 매핑 파일 업로드
1. [파일 선택]을 클릭하여 ‘dSYM’ 패키지 안의 바이너리 파일을 선택합니다.
2. 적용할 앱 버전을 입력하고 [등록]을 클릭합니다.
3. 데이터의 클래스 명과 함수 명을 IMQA에서 확인할 수 있습니다.
❷ 등록된 매핑 파일
등록된 매핑 파일과 적용된 앱 버전, 업로드 시간을 확인할 수 있습니다.
❸ 매핑 파일 관리
[삭제] 아이콘을 클릭하면 해당 매핑 파일을 삭제합니다.
최신 앱 버전이 릴리즈 된 경우, 해당 버전에서 발생한 크래시 정보를 보기 위해서는 동일한 앱 버전의 매핑 파일을 추가 등록해 주세요.
Last updated
Option Name
Description
Option Name
Type
Default Value
Description
Option Name
Type
Default Value
Description
‘*.dSYM’ 파일 [패키지 내용 보기] → ‘Contents > Resources > DWARF > (바이너리 파일)’ 경로 예시
id
사용자 ID-1 (Primary)
name
사용자 ID-2
email
사용자 ID-3
SPACollectInitTime
number
3000
- 기본값: 3000 (3초)
- SPA 성능 데이터 수집 간격을 ms(밀리초) 단위로 설정합니다.