🤔

crash()で、CrashLyticsでFlutterのエラーが補足されない

2024/08/26に公開
2

小1時間ハマりました。

  • Flutter 3.19.6
  • flutter_crashlytics 4.0.4

CrashLyticsのテスト用のクラッシュ(crash)メソッドがあります。これです。

 ElevatedButton(
  onPressed: () {
    FirebaseCrashlytics.instance.crash();
  },
  child: const Text('Crash'),
)

実機、シミュレーター、Android / iOSを色々試しましたが、飛びませんでした。
クラッシュするとVMが動かなくなるから・・・?

公式ドキュメントを見ると、エラーハンドラーをCrashLyticsにセットしている場合、
throw Exception()して確認するらしいです。

TextButton(
    onPressed: () => throw Exception(),
    child: const Text("Throw Test Exception"),
),

https://firebase.google.com/docs/crashlytics/get-started?hl=ja&platform=flutter#kotlin+ktx

throw Exception()に変更して、Hot Reloadしたら、すぐに反映された・・・
Hot Reloadが必要なのは、CrashLyticsのレポートは例外発生して次回起動時に送られるため。

2024.09.02 追記
コメントでご指摘を頂きました。
fatalの場合は即時送信されるとのこと!

fatalエラーの場合(recordErrorメソッドのfatal引数がtrue)は即時送信されて
fatalエラーではない場合は次回起動時に送信されます!

Discussion

DiegoDiego

fatalエラーの場合(recordErrorメソッドのfatal引数がtrue)は即時送信されて
fatalエラーではない場合は次回起動時に送信されます!

ござパイセンござパイセン

fatalエラーの場合(recordErrorメソッドのfatal引数がtrue)は即時送信されて
fatalエラーではない場合は次回起動時に送信されます!

ありがとうございます、修正しておきました!