Firebase Crashlytics のクラッシュ レポートのカスタマイズ

このガイドでは、Firebase Crashlytics SDK を使用してクラッシュ レポートをカスタマイズする方法を説明します。デフォルトでは、Crashlytics は自動的にアプリの全ユーザーを対象にクラッシュ レポートを収集します(自動クラッシュ レポートを無効にして、ユーザーに対してオプトイン レポートを有効にすることもできます)。Crashlytics には、カスタムキーカスタムログユーザー ID検出された例外という、設定不要な 4 つのロギング メカニズムが用意されています。

カスタムキーを追加する

カスタムキーを使用して、クラッシュにつながったアプリの特定の状態を把握できます。任意の Key-Value ペアをクラッシュ レポートに関連付けてから、Firebase コンソールでカスタムキーを使用してクラッシュ レポートを検索、フィルタできます。

  • Crashlytics ダッシュボードで、カスタムキーと一致する問題を検索できます。
  • コンソールで特定の問題を確認するには、各イベントに関連付けられているカスタムキーを表示します([キー] サブタブ)。カスタムキーでイベントをフィルタすることもできます(ページ上部にある [フィルタ] メニュー)。

2 回以上呼び出すと、既存のキーに新しい値が設定されて元の値が更新されるため、クラッシュを記録したときに最新の値だけが検出されます。

Crashlytics.SetCustomKey(string key, string value);

カスタムログ メッセージを追加する

ログに記録されたメッセージはクラッシュ データに関連付けられていて、特定のクラッシュを表示しているときに Firebase Crashlytics ダッシュボードに表示されます。

Crashlytics.Log(string message);

ユーザー ID を設定する

ID 番号、トークン、ハッシュ値を使用すると、個人情報を開示したり送信したりしなくても、アプリケーションのエンドユーザーを一意に識別できます。ユーザー ID に空白の文字列を設定して、値を消去することもできます。この値は、特定のクラッシュを表示しているときに Firebase Crashlytics ダッシュボードに表示されます。

Crashlytics.SetUserId(string identifier);

非致命的な例外を報告する

次のメソッドを使用して、C# のカスタム例外をログに記録します。

Crashlytics.LogException(Exception ex);

カスタムの例外は、アプリの try / catch ブロックに含めることができます。

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

オプトイン レポートを有効にする

デフォルトでは、Crashlytics は自動的にアプリの全ユーザーを対象にクラッシュ レポートを収集します。レポートのクラッシュを許可することで、ユーザーが送信するデータをより詳細に管理できます。

自動収集を無効にし、選択したユーザーに対してのみ Crashlytics を初期化するには、実行時に Crashlytics データ収集のオーバーライドを呼び出します。オーバーライド値はアプリが再起動されても維持されるため、Crashlytics は自動的にレポートを収集できます。自動クラッシュ レポートを無効にするには、オーバーライド値として false を渡します。false に設定された場合、この新しい値はアプリが次回実行されるまで適用されません。

Crashlytics.IsCrashlyticsCollectionEnabled = true

クラッシュ分析データを管理する

クラッシュ分析では、匿名化されたスタック トレースと他の Firebase アプリのトレースを比較して、発生した問題がより大きい傾向の一部であるかどうかが通知されるので、問題の解決に役立ちます。また、多くの問題について、クラッシュのデバッグに役立つリソースも提供されます。

クラッシュ分析は、集計されたクラッシュ データを使用して、一般的な安定性の傾向を特定します。アプリのデータを共有しない場合は、Firebase コンソールの Crashlytics 問題リストの最上部にある [クラッシュ分析情報の設定] メニューからクラッシュ分析を無効にできます。