Crashlytics 実装のテスト

強制的にクラッシュさせて実装状況をテストする

  1. テスト例外を強制的にスローするためのコードをアプリに追加します。

    FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) を呼び出すエラーハンドラを最上位の Zone に追加している場合は、次のコードを使用してアプリにボタンを追加します。このボタンを押すと、テスト例外がスローされます。

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. アプリをビルドして実行します。

  3. アプリの最初のレポートを送信するために、テスト例外を強制的にスローします。

    1. テスト用のデバイスまたはエミュレータからアプリを開きます。

    2. アプリで、上述のコードを使用して追加したテスト例外のボタンを押します。

  4. Firebase コンソールの Crashlytics ダッシュボードに移動して、テスト クラッシュを確認します。

コンソールを更新し、5 分経過してもテスト クラッシュが表示されない場合は、デバッグ ロギングを有効にしてみてください(次のセクション)。

Crashlytics のデバッグ ロギングを有効にする

Crashlytics ダッシュボードにテスト クラッシュが表示されない場合は、Crashlytics のデバッグ ロギングが問題解決に役立ちます。

Apple プラットフォーム

  1. デバッグ ロギングを有効にします。

    1. Xcode で [Product] > [Scheme] > [Edit scheme] の順に選択します。

    2. 左側のメニューから [Run] を選択し、[Arguments] タブを選択します。

    3. [Arguments Passed on Launch] セクションで -FIRDebugEnabled を追加します。

  2. 強制的にテスト クラッシュを発生させます。この方法については、このページの最初のセクションで説明しています。

  3. ログ内で Crashlytics からのログメッセージを探します。このログ メッセージには以下の文字列が含まれます。このログメッセージがあれば、アプリが Firebase にクラッシュを送信していることの確認になります。

    Completed report submission

5 分経過してもこのログが表示されない場合、または Firebase コンソールの Crashlytics ダッシュボードにテスト クラッシュが表示されない場合は、Firebase サポートにお問い合わせください。その際に、詳細なトラブルシューティングに役立つログ出力のコピーをご提出ください。

Android

  1. Crashlytics のデバッグ ロギングを有効にして表示します。

    1. アプリを実行する前に、次の adb シェルフラグを DEBUG に設定します。

      adb shell setprop log.tag.FirebaseCrashlytics DEBUG
    2. 次のコマンドを実行して、デバイスログのログを確認します。

      adb logcat -s FirebaseCrashlytics
  2. 強制的にテスト クラッシュを発生させます。この方法については、このページの最初のセクションで説明しています。

  3. logcat 出力で次のメッセージまたはコード 204 を探します。どちらも、アプリがクラッシュを Firebase に送信していることの確認になります。

    Crashlytics report upload complete

5 分経過してもこのログが表示されない場合、または Firebase コンソールの Crashlytics ダッシュボードにテスト クラッシュが表示されない場合は、Firebase サポートにお問い合わせください。その際に、詳細なトラブルシューティングに役立つログ出力のコピーをご提出ください。

次のステップ