MPM SDK設定

IMQA MPMには様々なオプションが存在します。ユーザーが希望する設定を追加することで、より詳細なクラッシュレポートを受け取ることができます。

1. MPMインストールオプション

MPMオプションファイル

IMQA用設定ファイルを通して設定を管理することができます。当該ファイルは、appレベルの位置に置いておかなければなりません。

(project root)/(app)/imqa-service.json
{
  "stop" : true,
  "mpm" : false,
  "crash" : true,
  "core" : true,
  "repackaging" : false,
  "lifecycle" : true,
  "event_listener" : true,
  "library_activity" : true,
  "fragment_lifecycle" : true,
  "webview" : true,
  "network" : true,
  "build_location" : "",
  "flavor" : "",
  "manifest_location" : "",
  "mapping_upload" : true,
  "map_upload_server" : "",
  "project_key" : "IMQA_KEY",
  "runtime" : {
    "buildType" : false,
    "printLog" : true,
    "dump_interval" : 1000,
    "file_interval" : 5,
    "upload_period" : true,
    "network_collect" : true,
    "socket_tracing" : false,
    "http_tracing" : true,
    "keep_file_on_fail" : true,
    "force_https" : false,
    "end_date" : "",
    "os_version_limit_list" : [],
    "app_version_limit_list" : [],
    "dump_size_max" : 10,
    "behavior_max" : 100
  }
}

Fileビルド設定値について

Option Name
Default Value
Description

stop

false

MPMのすべてのInjecting過程を実行します。\n trueに設定すると、すべての実行過程が無視されます。

mpm

true

MPM用SDKをインストールします。falseに設定すると、MPMライブラリを使用できません。

crash

true

Crash用SDKをインストールします。falseに設定すると、Crashライブラリを使用できません。

core

true

IMQA Core SDKをインストールします。falseに設定すると、Coreライブラリを使用できません。

repackaging

true

Repackagingモードを設定します。falseに設定すると、Compile中にInjectを実行します。

lifecycle

true

Activity Lifecycle Injectingを許可します。falseに設定すると、アクティビティマップが表示されません。

event_listener

true

Event Listener Injectingを許可します。falseに設定すると、イベント情報が収集されません。

fragment_lifecycle

true

Fragmentの収集状態を設定します。falseに設定すると、Fragmentのレンダリング速度が収集されません。

webview

true

WebViewに関するInjectingを許可します。falseに設定すると、ウェブビュー内のHTTP/Sリクエストが収集されません。

network

true

Network収集メソッドをラップ(Wrap)します。falseに設定すると、Network関連のレスポンスタイムが収集されません。

manifest_location

""

現在のビルド環境のManifest位置を直接設定します。未設定の場合、プラグインが自動的に検索されます。

flavor

""

現在のビルド環境のFlavorを直接設定します。未設定の場合、プラグインが自動的に検索されます。

mapping_upload

true

Mapping Fileを作成すると、自動的にアップデートされます。

map_upload_server

"http://mpm.imqa.io"

Network収集メソッドをラップ(Wrap)します。falseに設定すると、Network関連のレスポンスタイムが収集されません。

project_key

""

現在のアプリのプロジェクトキーを設定します。mapping.txtファイルをすぐにアップロードする場合は、設定する必要があります。未設定の場合、Build Logにアップロード失敗メッセージが表示されます。

Fileランタイム設定値について

Option Name
Default Value
Description

buildType

false

IMQAのデータ収集可否を設定します。

- true:データを収集しません。

- false:データを収集します。

printLog

false

Logの出力状態を設定します。trueに設定すると、IMQAのLogが出力されます。

dump_interval

5000

ダンプの間隔をms(ミリ秒)単位に設定します。

file_interval

5

ダンプが保存されるファイルの間隔を分単位に設定します。

upload_period

false

ファイルアップロードを周期的に送信するかを設定します。アプリが実行中にFileIntervalの間隔に合わせてアップロードされます。falseに設定すると、アプリを再実行する場合のみ収集データがアップロードされます。

socket_tracing

true

Socket関連情報の収集機能を設定します。trueに設定すると、アプリ実行中にSocketを利用してネットワーク通信情報が収集・保存されます。

http_tracing

true

HTTP関連情報の収集機能を設定します。trueに設定すると、アプリ実行中にHTTP情報が収集・保存されます。

keep_file_on_fail

true

測定された性能ファイルを成功するまで残しておくかを設定します。アップロードに成功するまでファイルは内部に保存されます。falseに設定すると、アップロードに失敗してもファイルは削除されます。

mpm_server_url

MPMサーバーURLを設定します。

force_https

false

trueに設定すると、アップロードサーバーの認証書(SSL)を無視してHTTPS通信が実行されます。

end_date

(なし)

終了日を設定します。

os_version_limit_list

[ ]

動作するOSバージョンを設定します。

app_version_limit_list

[ ]

動作するアプリバージョンを設定します。

dump_size_max

10

ダンプデータ最大容量を設定します。(単位 MB)

behavior_max

15

行動分析データの最大個数を設定します。

Gradle File

radleを利用すると、IMQA MPMインストールモードを変更することができます。

MPM Run Option

IMQA MPMモードをパラメータやOptionを利用して変更することができます。

MPM独立実行

特定のTaskでIMQA MPM Injectorを実行することができます。ただし、上記の方法を使用する場合、実行する位置によって正常にコードが挿入されないことがあります。

2. ネットワーク収集設定

IMQA MPMフレームワークでは、ネットワーク収集について自動的に測定しますが、特定のライブラリの場合は手動で設定を進める必要があります。

AsyncHttpClient対応

AsyncHttpClient対応 AsyncHttpClientライブラリを使用して、ネットワーク要求に応じて次のように追加します。

3. ProGuard設定

ProGuardは、使用しないリソースを削除してクラスやメソッドの名前を短く短縮するなど、APKを最大限小さくするためのツールです。ProGuardまたはDexGuardを使用する場合は、以下の内容を参考にしてください。マッピングファイルをアップロードすると、原本クラス・メソッド名をクラッシュレポートに表示することができます。

事前準備

開発中のプロジェクトでProguardを使用する場合、ソースコードが難読化され解析が困難になります。このとき、作成されるmapping.txtファイルを利用すると、難読化されたコードを解析することができるようになります。

Proguardルール(proguard-rules.pro)に以下の内容を追加してください。

app/build/outputs/mapping/debug(またはrelease)/mapping.txtの位置にファイルが作成されます。(buildTypeとflavorによってファイルの位置は多少異なることがあります。) このように作成されたファイルを、http://crash.imqa.ioにアクセスしてアップロードしてください。

アップロード手順

1. プロジェクトメニューから設定へ移動します。

2. [ファイル選択]ボタンを押してアップロードウィンドウを開いてください。

3. Gradleに明示されたApp versionに適した[ファイル選択]ボタンを押してmapping.txtファイルをアップロードしてください。

4. [登録]ボタンを押すと、以後アップロードされるクラッシュ情報は解析されて表示されます。

4. MPM Webviewガイド

WebView HTTPのリクエスト

Web Serverの設定

WebViewデータを収集するときは、WebViewを提供するWebページにIMQA Webview Javascriptライブラリを挿入する必要があります。必要に応じてファイルをダウンロードし、Webサーバーから直接提供することができます。

(クロスオリジン問題が発生したとき、直接importして使うことをお勧めします。)

MPM / WPM統合を使用する場合のエージェントのインストール方法は、「IMQA WPM / WCRashインストールガイド> 1.2。 WPM / MPM統合の使用(WebAgent + WebviewAgentのインストール)」を参照してください。

Android Agentを設定

MPMは、WebViewに関するページやリクエストを収集します。収集するためには、Option設定とMPMWebviewInterfaceを追加する必要があります。また、WebViewで発生したエラー情報を収集することもできます。 Webview Crash 収集のためには CrashWebviewBridge を追加する必要があります。

5. MPM HTTPS ガイド

HttpsURLConnection対応

IMQA Clientは、HttpsURLConnectionベースのネットワーク要求を収集できます。 HttpsURLConnectionベースのネットワーク要求の場合は、次のように追加してください。

HttpsURLConnection

OkHttp対応

IMQA ClientはOkHttpベースのネットワーク要求を収集できます。 OkHttpベースのネットワーク要求の場合は、次のように追加してください。

OkHttp Client

1. OkHttp3

2. Retrofit 2.0

イメージロードライブラリ対応

1. Picasso

picasso の場合、okhttp を使用する場合はデフォルトの downloader として okhttp を選択します。 この downloader にアンタセプターを追加するために以下のように追加してくれます。 まず、OkHttp3Downloader依存関係を追加します。

2. Glide

Glideの場合、HttpUrlConnectionをデフォルトのhttpライブラリとして使用します。 okhttpを使用したい場合は、OkHttpClientをregistryに設定してください。

HttpClient対応

IMQA Clientは、HttpClientベースのネットワーク要求を収集できます。 HttpClientベースのネットワーク要求の場合は、次のように追加してください。

HttpClient

1. HttpClient (org.apache.http.legacy)

2. HttpClient (cz.msebera.android.httpclient)

Volley対応

IMQA Clientは、Volleyベースのネットワーク要求を収集できます。 Volleyベースのネットワーク要求の場合は、次のように追加してください。

Volley

1. Volley (com.android.volley)

現在のバージョンで発生する可能性のある不具合

Last updated