CrashReporterモジュール
アプリのクラッシュを自動的に追跡します。モジュールが有効になり、関連するフレームワークがインストールされた後、アプリでクラッシュが発生するとクラッシュイベントがトリガーされます。
使用方法
CrashReporterモジュールは、アプリのクラッシュを自動的に追跡します。モジュールが有効になり、関連するフレームワークがインストールされた後、アプリでクラッシュが発生するとクラッシュデータが追跡イベントに追加されます。
オプションで、sendCrashDataOnCrashDetected
構成フラグを true
に構成することで、追加の crash
イベントを送信するようにSDKを構成できます。この構成を行うと、クラッシュデータはこの特定のイベントにのみ追加されます。
このフレームワークの使用は、アプリのクラッシュに関する重要な情報を得るために推奨されます。
以下のプラットフォームがサポートされています:
- iOS
- tvOS
- macOS
インストール
Swift Package ManagerまたはCocoaPodsでCrashモジュールをインストールします。
Swift Package Manager(推奨)
バージョン1.9.0以降でサポートされているSwift Package Managerは、Tealium Swiftライブラリをインストールするための推奨される最も簡単な方法です:
- Xcodeプロジェクトで File > Add Package Dependencies を選択します。
- リポジトリURLを入力します:
https://github.com/tealium/tealium-swift-crash-reporter
- バージョンルールを構成します。通常は
"Up to next major"
が推奨されます。現在のTealium Swiftライブラリバージョンがリストに表示されない場合は、Swiftパッケージキャッシュをリセットしてください。 TealiumCrashModule
を選択し、Xcodeプロジェクトの Frameworks and Libraries の下にあるアプリターゲットに追加します。- これらの指示に従って、
tealium-swift
ライブラリから他のモジュールを追加します。
CocoaPods
CocoaPodsでCrashReporterモジュールをインストールするには:
-
Podfileに次のpodを追加します:
pod 'TealiumCrashModule'
既に次の行がPodfileに含まれています:
pod 'tealium-swift'
-
次のコマンドを実行します:
pod install
Carthage
CarthageでCrashReporterモジュールをインストールするには:
-
Cartfileに次の内容を追加します:
github "tealium/tealium-swift-crash-reporter"
-
XcodeのアプリターゲットのGeneral構成ページに移動します。
-
Embedded Binaries セクションに次のフレームワークを追加します:
TealiumCrashModule.framework CrashReporter.framework
構成
CrashReporterモジュールをインスタンス化するには、SDKを初期化する際に TealiumConfig
オブジェクトで指定する必要があります:
import TealiumCore
import TealiumCrashModule
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
datasource: "DATASOURCE")
// 必要なコレクターを追加
config.collectors = [Collectors.AppData, Collectors.Crash] // CrashReporterモジュールをインスタンス化
config.sendCrashDataOnCrashDetected = true // オプション、trueの場合クラッシュが検出されたときに追加のクラッシュイベントを送信し、そのイベントにのみクラッシュデータを添付します
tealium = Tealium(config: config) { _ in }
Collectorsのドキュメントを確認して、必要なコレクターを正しく指定する方法を理解してください。
データレイヤー
モジュールが有効な間、各トラッキングコールで送信される変数は次のとおりです:
変数 | 説明 | 例 |
---|---|---|
crash_uuid |
この特定のクラッシュのための一意の識別子 | "CC2DA0E9-E544-429A-AC5E-A268FC62F02A" |
device_memory_usage* |
クラッシュ時のデバイス上のアプリによって使用されている現在のメモリ | "143.57MB" |
app_memory_usage |
クラッシュ時のデバイス上のアプリによって使用されている現在のメモリ | "143.57MB" |
device_memory_available* |
クラッシュ時のデバイス上の空きメモリ | "1068.88MB" |
memory_free |
クラッシュ時のデバイス上の空きメモリ | "1068.88MB" |
device_os_build |
現在のOSビルド番号 | "15E217" |
crash_process_id |
クラッシュ時のアプリのPID | "84351" |
crash_process_path |
アプリが実行されていたパス | "/DemoApp.app/DemoApp" |
crash_parent_process |
アプリを起動した親プロセス | "launchd_sim" |
crash_parent_process_id |
親プロセスのPID | "83183" |
crash_name |
利用可能な場合、クラッシュのフレンドリ名 | "Crash Name" |
crash_cause |
クラッシュの原因 | "Crash Reason" |
crash_signal_code |
クラッシュを引き起こしたシグナルコード | "#0" |
crash_signal_name |
クラッシュを引き起こしたシグナル名 | "SIGABRT" |
crash_signal_address |
クラッシュのシグナルアドレス | "4572945982" |
crash_libraries |
クラッシュ時にロードされていたライブラリのリスト | [{"baseAddress": "0xa3e0000", "codeType": { "arch": 64, "typeEncoding": "Mach"}, "imageName": "/Applications/Xcode9.3.app/Contents/ Developer/Platforms/iPhoneOS.platform/ Developer/Library/CoreSimulator/Profiles /Runtimes/iOS.simruntime/Contents/ Resources/RuntimeRoot/usr/lib/dyld_sim", "imageSize": 212992, "imageUuid": "4015e9b70bde"}] |
crash_threads |
クラッシュ時のすべてのアクティブスレッド | {"crashed": 1,"registers": {"cs": "0x07"},"stack": {"instructionPointer": 4572945982,"symbolInfo": {"symbolName": "","symbolStartAddr": 0},"threadId": ""}} |
- これらの変数は以前のリリースとの後方互換性のために重複しています
クラッシュの起動
TealiumCrashReporteriOS.framework
がプロジェクトに追加された後、追加の初期化ステップは必要ありません。クラッシュモジュールが有効であり、Tealium SDKが初期化されている限り、アプリでクラッシュが発生すると、クラッシュデータは自動的にトラッキングコールの一部となります。
テスト
ローカルでクラッシュを報告するためのテストでは、アプリの実行スキームで Debug executable のチェックを外して意図的にアプリをクラッシュさせます。デバッガがアプリの実行プロセスにアタッチされている場合、クラッシュレポーターはクラッシュをキャッチしません。
APIリファレンス
invokeCrash()
CrashReporterモジュールのためのクラッシュを起動します。
TealiumCrashReporter.invokeCrash(name: name, reason: reason)
パラメータ | タイプ | 説明 | 例 |
---|---|---|---|
name |
String |
クラッシュの名前 | "TEST_CRASH_NAME" |
reason |
String |
クラッシュの理由 | "TEST_CRASH_REASON" |
最終更新日 :: 2025年July月30日