Firebase Crash Reporting
Crash Reporting はアプリで発生したエラーの詳細レポートを作成します。エラーは類似したスタック トレースの問題にグループ化され、ユーザーに与える影響の大きさで優先順位付けされます。自動レポート以外に、カスタム イベントをログに記録して、問題発生までの過程の把握に役立てることができます。
サーバーのエラーを報告するには、Node.js、Python、Go、Java、PHP、Ruby のエラーをサポートしている Google Stackdriver Error Reporting の使用をおすすめします。
主な機能
| 致命的なエラーと致命的でないエラーを監視する | iOS の致命的なエラー、および Android の致命的なエラーと致命的でないエラーをモニタリングできます。レポートはユーザーに与える影響の大きさで優先順位付けされます。 |
| 問題の診断に必要なデータを収集する | 各レポートには完全なスタック トレースと、端末の特性、パフォーマンス データ、エラー発生時のユーザーの状況が記載されます。関連するバグを簡単に特定できるように、類似するレポートは自動的にグループ化されます。 |
| メールアラート | 新しいクラッシュまたは回帰が検出されたときの頻繁な更新を受信するためのメールアラートを有効にします。 |
| アナリティクス、Remote Config と統合する | 収集されたエラーはアナリティクスの app_exception イベントとして設定され、どのユーザーのところでエラーが発生しているかに基づいてユーザーをフィルタリングできます。Crash Reporting をアナリティクスと統合することで、クラッシュの前に発生したイベントを一覧表示できるようになります。この情報はデバッグ処理の簡素化に効果的です。
アプリが Remote Config によって特定の機能を無効にできるように設定されている場合、Crash Reporting データの分析を使用して、(必要に応じて特定の端末タイプで)アプリのアップデートが完了するまでエラー関連の機能を無効にすることができます。 |
| 無料で使いやすい | Crash Reporting は無料で使用できます。Firebase をアプリに追加すれば、数行のコードだけで包括的なエラー報告を使用できます。 |
実装のプロセス
| アプリを接続する | まず、Firebase コンソールで新しいアプリまたは既存のアプリに Firebase を追加します。 | |
| プロジェクトの依存関係を更新する | Crash Reporting は、iOS の場合は Podfile に、Android の場合は Gradle ファイルに必要な依存関係を追加すると、すぐに有効になります。有効になると、Firebase コンソールにクラッシュ データが表示されるようになります。 | |
| カスタムログを追加する | カスタムログ メッセージはクラッシュ レポートで自動的に送信される詳細情報を補足します。カスタムデータを文字列として、iOS の場合は `FIRCrashLog()` に、Android の場合は `FirebaseCrash.log()` に渡すと、Firebase コンソールに結果が表示されます。 |
ユーザーのプライバシー
Crash Reporting 自体が個人を特定可能な情報(名前、メールアドレス、電話番号など)を収集することはありません。Crash Reporting をログメッセージや例外メッセージと一緒に使用することで、追加のデータを収集できます。Crash Reporting を使用して収集されたそのようなデータには、Google が個人を特定できるような情報を含めないようにします。
個人を特定可能な情報を含まないログ メッセージの例を次に示します。
FirebaseCrash.log("SQL database failed to initialize");
個人を特定可能な情報を含む別のログ メッセージの例を次に示します。
FirebaseCrash.log(user.getEmailAddress() + " purchased product " + product.getID());問題を診断するためにユーザーを特定する必要がある場合は適切な難読化処理を行い、Google に送信するデータを匿名にする必要があります。
次のステップ
- クラッシュ レポートの表示方法については、クラッシュ レポートを表示するとクラッシュの影響を受けていないユーザーの指標をご覧ください。
- Crash Reporting で使用されるデータソースについては、Crash Reporting データソースをご覧ください。
- 新しい問題や回帰が報告されたときのメールアラートを設定する方法については、メールアラートの設定をご覧ください。

