Crash SDK設定
1. 詳細設定
収集サーバー設定
インストール型で実行された顧客会社では、必ずこの設定をする必要があります。
IMQA Crashフレームワークが収集するデータを送る収集サーバーを別途に設定することができます。基本的に、SaaSサービスをご利用中の方は、別途に設定する必要がありません。
Objective-C設定方法
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設定方法
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設定方法
#import <IMQACrashAgent/IMQACrash.h>
NSError* custom_error = [NSError errorWithDomain:@"custom_error" code:404 userInfo:NULL];
[IMQACrash notifyError:custom_error];
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エラー分析のためにエラーメッセージを指定することをお勧めします。
エラーメッセージを指定した場合、同じエラータイプであっても別のエラーとして収集されます。
...
// 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
ユーザーが設定したエラータイプです。
EvalError
eval()で発生するエラーです。
RangeError
変数の有効な範囲を外れた場合に作成されるエラーです。
ReferenceError
誤った参照をした場合に作成されるエラーです。
SyntaxError
誤った構文がある場合のエラーです。
TypeError
有効なデータ型でない場合におけるタイプのエラーです。
URIError
encodeURI()やdecodeURI()の関数に無効なパラメーターを渡した場合に作成されるエラーです。
AggregateError
複数のエラーを一つのエラーで包むエラータイプです。
4. dSYM設定
iOSのSymbolication(シンボル化)を適用したアプリの場合は、dSYM設定でクラス名と関数名を確認できます。 「IMQA MPMユーザーガイド> 2.4。 プロジェクト管理> dSYM設定」を参照してください。
Last updated