Crash SDK設定
IMQA Crashには様々なオプションが存在します。ユーザーが希望する設定を追加することで、より詳細なクラッシュレポートを受け取ることができます。
1. Custom Crash発生
IMQA Crash Agent で以下のようなユーザー定義エラーを収集することができます。Exceptionオブジェクトといっしょに特定のタグ、エラーランクを指定することができます。
エラーランクは特に定められていないため、アプリの構成によって変更して使用することができます。
Rank | Description |
---|---|
ErrorRank.Unhandle | 基本のエラーランクに分類できないクラッシュに使用 |
ErrorRank.Critical | アプリに大きな影響を与えるクラッシュ |
ErrorRank.Major | アプリに影響を与えるクラッシュ |
ErrorRank.Minor | アプリにほとんど影響を与えないクラッシュ |
2. Custom Web Crash 発生
IMQA Webview Agentでは、詳細なWebエラー分析に必要なエラーメッセージを指定してカスタムエラーを収集できます。
Webview Crash 収集のためには CrashWebviewBridge を追加する必要があります。 「Android > MPM SDK設定 > WebView HTTPリクエスト > Android Agent設定」を参照してください。
カスタムエラーの生成
IMQA Crash は、ユーザーが定義したエラーを検出して収集します。
他のエラーであっても同じエラータイプの場合、同じエラーとして認識してエラーが蓄積することがあります。
カスタムエラーメッセージの指定
WebViewが収集するデフォルトのエラーメッセージを目的のエラーメッセージに変更して収集できます。 詳細なWebエラー分析のためにエラーメッセージを指定することをお勧めします。
エラーメッセージを指定した場合、同じエラータイプであっても別のエラーとして収集されます。
以下のように、IMQA Crash サービスで Web クラッシュを詳細な情報とともに確認できます。
❶ キャッチされたエラーインスタンス Webビューでエラーが生成された場合は、そのエラーのキャッチされたエラーインスタンス名を表示します。
❷ ユーザー定義のエラーメッセージ 特定のエラータイプのエラーが作成されるとき、ユーザーが指定したメッセージを表示します。
❸ エラータイプ / コードの行番号 Webビューエラーの種類と当該エラーの行番号を確認することができます。
Error Type | Description |
---|---|
Error | ユーザーが設定したエラータイプです。 |
EvalError | eval()で発生するエラーです。 |
RangeError | 変数の有効な範囲を外れた場合に作成されるエラーです。 |
ReferenceError | 誤った参照をした場合に作成されるエラーです。 |
SyntaxError | 誤った構文がある場合のエラーです。 |
TypeError | 有効なデータ型でない場合におけるタイプのエラーです。 |
URIError | encodeURI()やdecodeURI()の関数に無効なパラメーターを渡した場合に作成されるエラーです。 |
AggregateError | 複数のエラーを一つのエラーで包むエラータイプです。 |
3. EventPath登録
EventPathは、ユーザーのデバイスでアプリがどのようなルートで動作するかを把握するための機能です。これを使用するためには、クラスにEventPath追跡コードを入れる必要があります。追跡コードに「STEP」と「LABEL」に該当する内容を入れてください。
STEP | LABEL |
---|---|
収集するコールスタックの段階、当該ステップのクラス名、関数名、コール位置を取り込みます。 | 収集されたEventPathの別称、クラッシュ情報ウィンドウにEventPathの各発生位置を別称で表示します。 |
4. Custom User ID登録
クラッシュ発生時にユーザーを区分するためのカスタムしたIDを与えることができます。ユーザー情報を登録すると、発生するクラッシュにユーザー情報が含まれて表示されます。
Class Name | Method Name | Description |
---|---|---|
IdentifierCollector | setUserId(STRING) | ユーザーIDを登録してください。 |
IdentifierCollector | setUserName(STRING) | ユーザー名を登録してください。 |
IdentifierCollector | setUserMail(STRING) | ユーザーのEメールアドレスを登録してください。 |
5. Custom User Log/Key登録
クラッシュが発生する前に、希望するログを開発者が直接追加して残すことができます。(最大100個)
Class Name | Method Name | Description |
---|---|---|
CustomLogCollector | log(STRING) | ログを一般的な文字列として残します。 |
CustomLogCollector | log(KEY, VALUE) | ログをキー:値形式で残します。 |
6. 初期化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