Crash SDK設定

1. 詳細設定

収集サーバー設定

インストール型で実行された顧客会社では、必ずこの設定をする必要があります。

IMQA Crashフレームワークが収集するデータを送る収集サーバーを別途に設定することができます。基本的に、SaaSサービスをご利用中の方は、別途に設定する必要がありません。

Objective-C設定方法

AppDelegate.m
NSString* imqaUrl = @"https://custom-url";
IMQACrashConfiguration* crashConfig = [[IMQACrashConfiguration alloc] initWithApiKey:PROJECT_KEY];

IMQACrashEndpointConfiguration* endpoint = [[IMQACrashEndpointConfiguration alloc] init];
endpoint.notify = [imqaUrl stringByAppendingString:@"/cocoa/crash/send"];
endpoint.sessions = [imqaUrl stringByAppendingString:@"/cocoa/session"];
crashConfig.endpoints = endpoint;

Swift設定方法

AppDelegate.swift
let imqaUrl = "https://custom-url"
let crashConfig = IMQACrashConfiguration("<PROJECT_KEY>")
crashConfig.endpoints = IMQACrashEndpointConfiguration(
                                 notify: imqaUrl + "/cocoa/crash/send",
                                 sessions: imqaUrl + "/cocoa/session")

2. カスタムエラー送信

IMQA Crashは、カスタムErrorを直接送信することができます。各種ネットワークエラーや収集したいErrorは、NSErrorを通して私たちのサーバーへ直接送り、トラッキングすることができます。

Objective-C設定方法

AppDelegate.m
#import <IMQACrashAgent/IMQACrash.h>

NSError* custom_error = [NSError errorWithDomain:@"custom_error" code:404 userInfo:NULL];
[IMQACrash notifyError:custom_error];

Swift設定方法

AppDelegate.swift
let custom_error = NSError(domain: "custom error", code: 404, userInfo: nil)
IMQACrash.notifyError(custom_error)

3. Custom Web Crash 発生

IMQA Webview Agentでは、詳細なWebエラー分析に必要なエラーメッセージを指定してカスタムエラーを収集できます。

Webview Crash 収集のためには CrashWebviewBridge を追加する必要があります。 「Android > MPM SDK設定 > WebView HTTPリクエスト > Android Agent設定」を参照してください。

カスタムエラーの生成

IMQA Crash は、ユーザーが定義したエラーを検出して収集します。

他のエラーであっても同じエラータイプの場合、同じエラーとして認識してエラーが蓄積することがあります。

カスタムエラーメッセージの指定

WebViewが収集するデフォルトのエラーメッセージを目的のエラーメッセージに変更して収集できます。 詳細なWebエラー分析のためにエラーメッセージを指定することをお勧めします。

エラーメッセージを指定した場合、同じエラータイプであっても別のエラーとして収集されます。

js files to collect custom errors
...
// When using try-catch
try {
	...
}
catch(e){
	throw new Error("Custom error messages");
}

// When to generate default errors
new Error("Custom error messages");

以下のように、IMQA Crash サービスで Web クラッシュを詳細な情報とともに確認できます。

❶ キャッチされたエラーインスタンス Webビューでエラーが生成された場合は、そのエラーのキャッチされたエラーインスタンス名を表示します。

❷ ユーザー定義のエラーメッセージ 特定のエラータイプのエラーが作成されるとき、ユーザーが指定したメッセージを表示します。

throw new Error("Custom error messages");

❸ エラータイプ / コードの行番号 Webビューエラーの種類と当該エラーの行番号を確認することができます。

Error Type
Description

Error

ユーザーが設定したエラータイプです。

EvalError

eval()で発生するエラーです。

RangeError

変数の有効な範囲を外れた場合に作成されるエラーです。

ReferenceError

誤った参照をした場合に作成されるエラーです。

SyntaxError

誤った構文がある場合のエラーです。

TypeError

有効なデータ型でない場合におけるタイプのエラーです。

URIError

encodeURI()decodeURI()の関数に無効なパラメーターを渡した場合に作成されるエラーです。

AggregateError

複数のエラーを一つのエラーで包むエラータイプです。

4. dSYM設定

iOSのSymbolication(シンボル化)を適用したアプリの場合は、dSYM設定でクラス名と関数名を確認できます。 「IMQA MPMユーザーガイド> 2.4。 プロジェクト管理> dSYM設定」を参照してください。

Last updated