MPM SDK設定
IMQA MPMには様々なオプションが存在します。ユーザーが希望する設定を追加することで、より詳細なクラッシュレポートを受け取ることができます。
1. MPMインストールオプション
MPMオプションファイル
IMQA用設定ファイルを通して設定を管理することができます。当該ファイルは、appレベルの位置に置いておかなければなりません。
{
"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ビルド設定値について
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ランタイム設定値について
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に設定すると、アップロードに失敗してもファイルは削除されます。
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にアクセスしてアップロードしてください。
Androidの場合、「mapping.txt」、「map.txt」などの「txt」ファイルをアップロードします。
アップロード手順
1. プロジェクトメニューから設定へ移動します。
2. [ファイル選択]ボタンを押してアップロードウィンドウを開いてください。
3. Gradleに明示されたApp versionに適した[ファイル選択]ボタンを押してmapping.txtファイルをアップロードしてください。
4. [登録]ボタンを押すと、以後アップロードされるクラッシュ情報は解析されて表示されます。
アプリの最新バージョンがリリースされた場合、該当するバージョンで発生したクラッシュ情報を確認するためには同じアプリバージョンのマッピングファイルを追加登録してください。
4. MPM Webviewガイド
WebView HTTPのリクエスト
Web Serverの設定
WebViewデータを収集するときは、WebViewを提供するWebページにIMQA Webview Javascriptライブラリを挿入する必要があります。必要に応じてファイルをダウンロードし、Webサーバーから直接提供することができます。
(クロスオリジン問題が発生したとき、直接importして使うことをお勧めします。)
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)
現在のバージョンで発生する可能性のある不具合
Interceptor機能を手動で挿入する必要があります。 (現在HTTPURLConnection、Okhttp、Retrofit、HttpClient(org.apache、cz.msebera)自動インストールをサポートしています。)
Last updated