# Crash･MPM 설치하기

### 어떤 OS에서 사용할 수 있나요? <a href="#os" id="os"></a>

안드로이드, iOS 모두 설치하여 사용하실 수 있습니다. 안드로이드만 가능한 타 솔루션과는 달리 iOS에서도 동일하게 모니터링이 가능합니다.

### IMQA 개발 언어는 무엇인가요? <a href="#language" id="language"></a>

프론트엔드는 java, 백엔드는 node.js로 개발되었습니다.

### 특정 언어, 프레임워크로 개발된 앱도 IMQA 도입 가능한가요? <a href="#framework" id="framework"></a>

Objective-C, Swift, Java, Kotlin을 지원합니다. React의 경우, JS 수집 에이전트를 서버에 넣는 경우 지원 가능합니다.

### 네이티브앱, 웹앱, 하이브리드 앱에서도 사용 가능한가요? <a href="#hybrid" id="hybrid"></a>

모두 사용 가능합니다. 웹뷰 데이터 수집을 원하시는 경우 설치 안내에 따라 설정을 완료해 주세요.

* [\[안드로이드\] MPM Webview 설정](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-setting#mpm-webview-guide)
* [\[iOS\] MPM WKWebView 설정](https://docs.imqa.io/imqa-guide/installation/ios/mpm#2.-wkwebview)

대시보드 내 화면별 성능 현황에서는 설정에 따라 전체/네이티브/웹뷰로 구분하여 현재 성능 현황을 구분하여 확인하실 수 있습니다.

![](https://3726060384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzFyCopc6yAp3UcEYW6la%2Fuploads%2Fc1gUzZPTVDjxs19LP8NA%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202022-08-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.51.53.png?alt=media\&token=7a7e8a9a-5b8e-41ef-8ec0-78663b0e9cbe)

### 어떤 걸 설치해야 하나요? <a href="#sdk" id="sdk"></a>

Crash, MPM SDK를 설치해 주세요. 안드로이드는 MPM SDK를 설치하시면 Crash SDK를 별도로 설치하실 필요가 없으니, MPM SDK만 설치하시면 됩니다.

* [\[AOS\] Crash SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/android/crash-sdk-install)
* [\[AOS\] MPM SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-install)
* [\[iOS\] Crash SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/ios/crash-sdk-install)
* [\[iOS\] MPM SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/ios/mpm-sdk-install)

### 지원 환경이 궁금해요. <a href="#environment" id="environment"></a>

IMQA는 다음과 같은 환경에서 원활하게 이용하실 수 있으며, 지원하는 브라우저 및 해상도는 다음과 같습니다.

|      지원 브라우저      |       지원 버전      |
| :---------------: | :--------------: |
| Google Chrome(권장) | Ver 81.0.4044.92 |
|  Mozilla FireFox  |     Ver 75.0     |
| Internet Explorer |   Ver 11.0.180   |
|       Safari      |     Ver 13.1     |

* 권장 해상도: 1920x1080
* \[iOS] 9.0 이상 / Xcode 최신 버전
* 최적의 성능과 사용자 경험을 위해서 Google Chrome 최신 버전 사용을 권장합니다.

### 사용 전 테스트를 해보고 싶어요!  <a href="#test" id="test"></a>

안드로이드와 iOS 모두 샘플 앱 테스트가 가능합니다. 아래 OS별 샘플 앱 테스트 페이지에서 자세한 내용을 확인해 보세요!

* [안드로이드 샘플 앱 테스트](https://docs.imqa.io/imqa-guide/installation/android/sample)
* [iOS 샘플 앱 테스트](https://docs.imqa.io/imqa-guide/installation/ios/sample)

### Crash 설치 방법이 궁금해요. <a href="#crash-install" id="crash-install"></a>

OS에 따른 설치 방법을 참고하여 설치를 완료해 주세요. 설치 시 궁금한 사항은 [IMDev](https://imdev.imqa.io/) 또는 [채팅 문의](https://imqa.channel.io/)에 남겨주시면 담당자 확인 후 별도 안내해 드리겠습니다.&#x20;

상황에 따라 필요 시, 원격 설치 지원이 가능하니 설치 과정 중 어려움이 있으시다면 꼭 문의해 주세요!

안드로이드는 MPM SDK를 설치하시면 Crash SDK를 별도로 설치하실 필요가 없습니다. MPM SDK를 설치해 주세요. (Lite 플랜은 프로젝트 생성 시, Crash와 MPM 모두 사용하실 수 있습니다. Standard 이상 플랜에서는 사용 목적에 따라 Crash와 MPM을 선택하여 설치하실 수 있습니다.)

* [안드로이드 MPM SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-install)
* [iOS Crash SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/ios/crash-sdk-install)
* [IMDev 바로가기](https://imdev.imqa.io/)
* [채팅 문의하기](https://imqa.channel.io/)

### MPM 설치 방법이 궁금해요. <a href="#mpm-install" id="mpm-install"></a>

OS에 따른 설치 방법을 참고하여 설치를 완료해 주세요. 설치 시 궁금한 사항은 [IMDev](https://imdev.imqa.io/) 또는 [채팅 문의](https://imqa.channel.io/)에 남겨주시면 담당자 확인 후 별도 안내해 드리겠습니다.&#x20;

상황에 따라 필요 시, 원격 설치 지원이 가능하니 설치 과정 중 어려움이 있으시다면 꼭 문의해 주세요!

* [\[안드로이드\] MPM SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-install)
* [\[iOS\] MPM SDK 설치하기](https://docs.imqa.io/imqa-guide/installation/ios/mpm-sdk-install)
* [IMDev 바로가기](https://imdev.imqa.io/)
* [채팅 문의하기](https://imqa.channel.io/)

### SDK를 설치했는데 데이터가 안 보여요. <a href="#data" id="data"></a>

SDK 설치 후 데이터가 보이지 않는 경우는 아래와 같습니다. (아래 내용은 안드로이드 기준입니다.)\
아래 안내된 내용 외 다른 상황이거나 해결이되지 않는 경우, [IMDev](https://imdev.imqa.io/) 또는 [채팅 문의](https://imqa.channel.io/)에 남겨주시면 담당자가 개별 안내해 드리겠습니다.

* [IMDev 바로가기](https://imdev.imqa.io/)
* [채팅 문의하기](https://imqa.channel.io/)

#### 1. 데이터가 나오지 않아요! 사용자 수도 올라가지 않아요! <a href="#data-1" id="data-1"></a>

IMQA Android SDK 연동시 agent 코드를 삽입하셨나요? 프로젝트키를 정확히 넣으셨는지 확인해 주세요.

* [소스코드에 IMQA 초기화 코드 삽입하기](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-install#initialization)&#x20;

#### 2. CPU와 메모리는 나오는데, 화면 로딩시간과 응답 시간이 나오지 않아요. <a href="#data-2" id="data-2"></a>

IMQA Android SDK 는 빌드시에 자동으로 화면로딩시간과 응답시간을 측정하는 코드를 삽입합니다. 컴파일 되는 파일의 경로를 커스텀하게 변경하셨거나, Android Studio와 gradle 버전에 따라 문제가 발생할 수 있습니다. 이런 경우 수동으로 경로를 설정할 수 있습니다.

project의 Root 경로에 build.properties에 다음 설정을 추가해 주세요.

```
project.home=/Users/imqa/workspace/IMQA_AOS_SAMPLE
project.kotlin.path=$PROJECT_HOME/app/build/tmp/kotlin-classes
project.java.path=$PROJECT_HOME/app/build/intermediates/javac/debug/classes
project.manifest.path=$PROJECT_HOME/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
project.task.execute=:assemble
```

\- project.home = 프로젝트가 있는 경로\
\- project.kotlin.path = 코틀린 클래스가 있을 경우 추가\
\- project.kotlin.path = 자바 클래스가 있을 경우 추가\
\- project.manifest.path = 프로젝트의 manifest파일을 추가하되, 개발자가 수정하는 manifest.xml의 경로가 아닌 build된 경로에 있는 manifest.xml을 추가해 주세요.\
\- project.task.execute = gradle의 action명을 추가해 주세요.

{% hint style="warning" %}
실제 경로를 잘 확인해 주세요. 앱의 build variant에 따라서 예시에 있는 debug경로가 바뀔 수 있습니다.
{% endhint %}

#### 3. MPM만 데이터가 들어오가 Crash는 데이터가 들어오지 않거나, 반대로 Crash만 데이터가 들어오고 MPM은 데이터가 들어오지 않아요. <a href="#data-3" id="data-3"></a>

IMQA Agent코드를 삽입할 때 Mpm과 Crash의 Agent 두개를 모두 올리셨나요? IMQA Android SDK는 Mpm Agent만 동작시키면 Crash가 함께 수집됩니다. MPM과 Crash Agent 두개 다 올린경우, Crash Agent는 지워주세요.

#### 4. Agent가 정상적으로 동작하고 있는건지 모르겠어요. <a href="#data-4" id="data-4"></a>

IMQA Option의 PrintLog를 true로 주면 IMQA 로그가 출력됩니다. Logcat을 통해 수집되고 있는 IMQA 로그를 확인해보세요.

Android Manifest에 권한 추가했음에도 IMQA가 수집이 되지 않는다면, [IMDev](https://imdev.imqa.io/)에 문의해 주세요. [Android Studio 버전](#nd+), [gradle과 gradle Plugin 버전](#gradle-version), build 시 나오는 IMQA 로그와 현상을 문의주시면 빠르게 답변드리겠습니다.

* [Android Manifest에 권한 추가하기](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-install#authority)&#x20;
* [소스코드에 IMQA 초기화 코드 삽입하기 ](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-install#initialization)

#### 안드로이드 스튜디오 버전 확인 방법  <a href="#aos-version" id="aos-version"></a>

Menu > Android Studio > About Android Studio 를 선택하면 다음과 같이 버전을 확인할 수 있습니다.

![](https://3726060384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzFyCopc6yAp3UcEYW6la%2Fuploads%2Fg5N4zjtm1hRDbJFmbGex%2Fimage.png?alt=media\&token=a00338c7-2da5-4030-b033-25cc7cce7c13)

<figure><img src="https://3726060384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzFyCopc6yAp3UcEYW6la%2Fuploads%2F3EJPq6lJ81kwoUE9Omrp%2Fimage.png?alt=media&#x26;token=3e8b34cd-8dc2-4849-9875-a6ddc4a4b2c3" alt=""><figcaption></figcaption></figure>

#### Gradle 버전과 Gradle Plugin버전 확인 방법 <a href="#gradle-version" id="gradle-version"></a>

Menu > File > Project Structure 에 들어가면 Project 탭에 다음과 같이 Gradle버전과 Gradle Plugin 버전을 확인할 수 있습니다.

![](https://3726060384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzFyCopc6yAp3UcEYW6la%2Fuploads%2FzvSBTISSN1VFJS3frnEy%2Fimage.png?alt=media\&token=a52feee4-9098-4870-abcd-7d04a7183af7)

<figure><img src="https://3726060384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzFyCopc6yAp3UcEYW6la%2Fuploads%2FrAYSoTAfyrdHmj0bCQW9%2Fimage.png?alt=media&#x26;token=4aa37cad-a899-4f06-a57d-056477139a2c" alt=""><figcaption></figcaption></figure>

### Agent 초기화가 안되었다고 떠요. <a href="#agent-init" id="agent-init"></a>

**‘Not IMQA Agent Init yet’은** 아직 IMQA Agent가 동작하지 않은 상태에서 프로파일링이 진행되는 경우에 발생하는 로그입니다. 이 경우, 아래 사항을 확인해 주세요.

* 유효한 프로젝트 키를 삽입하였는지
* 네트워크가 켜지지 않은 디바이스에서 테스트하였는지
* <https://collector.imqa.io/> 를 테스트하는 디바이스의 브라우저에 접속하였을 때 접속이 되지 않는지 (IMQA 수집 서버와 통신이 안되는 경우 Agent가 동작하지 않습니다.)
* Crash Agent와 MPM Agent를 두 개 모두 올린 경우\
  (MPM만 올려도 Crash Agent도 함께 동작합니다. Crash Agent와 MPM Agent를 동시에 두 개 올리신 경우 Crash Agent는 삭제해 주세요.)

### 설치 후 반드시 설정해야 하는 기능이 있나요? <a href="#setting" id="setting"></a>

Crash의 경우, 커스텀 에러(Custom Error) 설정을 하시면 로그인 에러, 결제 에러와 같은 다양한 에러 정보를 확인하실 수 있으니 꼭 설정해 주세요!&#x20;

* [\[안드로이드\] Crash 설정하기](https://docs.imqa.io/imqa-guide/installation/android/crash-sdk-setting)
* [\[안드로이드\] MPM 설정하기](https://docs.imqa.io/imqa-guide/installation/android/mpm-sdk-setting)
* [\[iOS\] Crash 설정하기](https://docs.imqa.io/imqa-guide/installation/ios/crash-sdk-setting)
* [\[iOS\] MPM 설정하기](https://docs.imqa.io/imqa-guide/installation/ios/mpm)
