Backtrace は、backtrace-android ライブラリを使用して、Android アプリに統合できます。Kotlin または Java で記述されたアプリから、Backtrace インスタンスにエラーレポートが送信されるよう簡単に設定できます。
backtrace-android ライブラリは、こちらから入手できます。
設定とインストール
Backtrace インスタンスを設定する
まだ Backtrace インスタンスがない場合は、こちらで作成してください。
Backtrace インスタンスが次の形式のドメインで提供されます。
https://yourcompany.sp.backtrace.io
エラーレポートの送信を開始するには、インスタンスにログインし、プロジェクトを作成して、そのプロジェクトに送信トークンを作成する必要があります。送信トークンには、「プロジェクト設定」 - 「エラー送信」からアクセスできます。
エラーレポートを Backtrace インスタンスや特定のプロジェクトに送信するには、送信トークンの情報を使用します。
アプリケーションを設定する
ライブラリの使用方法に関する詳細については、README ファイルを参照してください。gradle または maven を使用して、レポートライブラリをアプリケーションにインストールします。AndroidManifest.xml ファイルで、インターネットとファイルアクセスの権限を設定する必要があります。
次のことを実行する方法に関する詳細が見つかります。
- BacktraceClient を使用して、未処理の例外を含む簡単なエラーレポートを初期化し、Backtrace インスタンスに送信する
- BacktraceDatabaseSettings を使用して、オフラインデータベースと送信再試行設定を設定する
- クラッシュにつながるデバイスのイベントを追跡するのに役立つパンくずを活用する
- BacktraceReport クラスを使用して、カスタム属性を入力し、ファイルアタッチメントとともにエラーレポートと一緒に送信する
- 非同期送信、カスタムイベントハンドラーなどの高度な設定を活用する
最初のエラーを送信する
README の情報に従って、エラーやクラッシュが発生した時点で、BacktraceClient オブジェクトを使用してエラーレポートが Backtrace インスタンスに送信されるように設定する必要があります。
Backtrace でエラーを確認する
送信したエラーを確認を Backtrace で確認するには、トリアージツール、参照ツール、またはデバッグツールを使用します。
追加属性にインデックスを付ける
backtrace-android によって送信されるデバイスやアプリケーションに関する約 25 のシステムレベルの属性にインデックスを付け、Backtrace で利用することができます。
「プロジェクト設定」 - 「属性」タブに移動して、属性を確認します。このプロジェクトのクラッシュレポートで送信された内容に基づいて、推奨される属性の一覧が表示されます。これらの属性を設定する方法の詳細については、属性に関するドキュメントを参照してください。
属性を設定した後は、それらの属性が追加される前に送信されたクラッシュレポートを再インデックス付けするために、オブジェクトを再処理(「プロジェクト設定」 - 「オブジェクト再処理中」)する必要があります。
「トリアージ」 - 「詳細」ページで、属性を追加して表示できるようになったほか、「参照」ページでそれらの属性をフィルタリングや集計に使用できます。
ProGuard の難読化解除のサポート
アプリケーションで ProGuard によるプログラムの難読化が使用されている場合は、クラッシュするコールスタックの難読化を解除するよう Backtrace デバッガーを設定できます。
これを行うには、ビルドに対応する ProGuard の .mapping
ファイルをアップロードする必要があります。ProGuard のファイル形式には、対応するビルドを識別する方法が提供されないため、これはプログラマーが行う必要があります。Backtrace の場合、ビルドごとに UUID を生成する必要があります。UUID を生成する方法がわからない場合は、uuidgen
ツールを使用して、ソフトウェアのバージョンごとに UUID を生成できます。次に例を示します。
$ uuidgen -N '1.0.0-beta' --namespace "f615d933-702b-5c5f-913d-18223dc80788" --sha1
6e5552ef-cca0-578f-8259-bef23a9566d3
$ uuidgen -N '1.0.0' --namespace "f615d933-702b-5c5f-913d-18223dc80788" --sha1
5a4d2886-fb5d-5d2e-80d8-4bcdf5f5c11b
$ uuidgen -N '1.0.1' --namespace "f615d933-702b-5c5f-913d-18223dc80788" --sha1
39642ed9-5a75-5186-9649-71a893e00340
マッピングファイルは、format=proguard
、UUID と同じ symbolication_id
が設定された汎用アドレスにアップロードされる必要があります。次に例を示します(バージョン 1.0.1 以上の場合)。
https://yourcompany.sp.backtrace.io:6098/post?format=proguard&token=&universe=&project=&symbolication_id=39642ed9-5a75-5186-9649-71a893e00340
クラッシュのアップロードにも同様に注釈を付ける必要があります。これを行うには、symbolication_id
を追加し、その値をマッピングファイルに対応する UUID に設定します。さらに、クラッシュのアップロードの symbolication
キーは、proguard
に設定する必要があります。Backtrace の API の詳細については、こちらを参照してください。
backtrace-android の高度な設定
簡単なエラーが送信されていることを確認したら、backtrace-android の README に戻り、オフライン設定を変更する、パンくずを有効にする、追加のカスタム属性を指定する、ファイルアタッチメントを添付するなど、レポート設定を追加で設定できます。