IMQA GUIDE
설치∙사용 가이드자주 묻는 질문개발자 포럼릴리즈 노트
JPN
JPN
  • Getting Started
    • お知らせ
    • 対応環境
  • Installation
    • Android
      • MPM SDKインストール
      • MPM SDK設定
      • Crash SDKインストール
      • Crash SDK設定
    • iOS
      • MPM SDKインストール
      • MPM SDK設定
      • Crash SDKインストール
      • Crash SDK設定
    • React Native
      • Android
      • iOS
      • React Native Libraryの設定
    • Cordova
      • Android
      • iOS
    • Morpheus
      • Android
      • iOS
    • W Hybrid
    • Web (WPM/WCrash)
      • [共通] WebAgentのインストール
      • [共通] WebAgent設定
      • [共通] ブラウザ互換性
  • User Guide
    • MPM ユーザガイド
      • プロジェクトリスト
      • 性能情報
      • A/Bのダッシュボード
      • 画面性能分析
      • 性能詳細分析
      • 行動分析
      • 地域分析
      • 統計
      • レポート
      • 通知
      • 管理
    • Crash ユーザガイド
      • プロジェクトリスト
      • ダッシュボード
      • エラー詳細
      • エラー検索
      • 統計
      • 設定
    • WPM ユーザガイド
    • WCrash ユーザガイド
Powered by GitBook
On this page
  • 1. 詳細設定
  • 収集サーバー設定
  • 2. カスタムエラー送信
  • Objective-C設定方法
  • Swift設定方法
  • 3. Custom Web Crash 発生
  • カスタムエラーの生成
  • カスタムエラーメッセージの指定
  • 4. dSYM設定
  1. Installation
  2. iOS

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エラー分析に必要なエラーメッセージを指定してカスタムエラーを収集できます。

カスタムエラーの生成

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設定」を参照してください。

PreviousCrash SDKインストールNextReact Native

Last updated 1 year ago

Webview Crash 収集のためには CrashWebviewBridge を追加する必要があります。 「」を参照してください。

Android > MPM SDK設定 > WebView HTTPリクエスト > Android Agent設定