【Flutter】firebase_crashlyticsについて

Flutter

firebase_crashlyticsとは

firebase_crashlyticsは、Flutterアプリケーションで発生した未処理のエラーをFirebaseコンソールに報告するためのパッケージです。
これにより、リアルタイムでクラッシュレポートを取得し、問題の診断と修正が迅速に行えるようになります。

firebase_crashlytics | Flutter package
Flutter plugin for Firebase Crashlytics. It reports uncaught errors to the Firebase console.

使い方

1. パッケージのインストール

まず、pubspec.yamlファイルにfirebase_crashlyticsパッケージを追加します。

dependencies:
  firebase_crashlytics: ^4.0.1
  firebase_core: latest_version
  flutter:
    sdk: flutter

2. Firebaseの設定

Firebaseコンソールでプロジェクトを作成し、アプリを追加してGoogleサービスの設定ファイル(google-services.jsonまたはGoogleService-Info.plist)を取得し、プロジェクトに追加します。

3. 初期化

main.dartファイルでFirebaseとCrashlyticsを初期化します。

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/material.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();

  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

4. エラーの手動報告

Crashlyticsは自動で未処理のエラーを報告しますが、手動でエラーを報告することも可能です。

try {
  // エラーを発生させるコード
} catch (error, stackTrace) {
  FirebaseCrashlytics.instance.recordError(error, stackTrace);
}

5. ログの追加

デバッグ情報やカスタムログを追加することができます。

FirebaseCrashlytics.instance.log('デバッグ情報: ボタンが押されました。');

6. カスタムキーの設定

エラー情報にカスタムキーを追加して、クラッシュレポートをより詳細にすることができます。

FirebaseCrashlytics.instance.setCustomKey('custom_key', 'custom_value');

7. ユーザーIDの設定

ユーザーごとにクラッシュレポートを紐付けるために、ユーザーIDを設定することができます。

FirebaseCrashlytics.instance.setUserIdentifier('user_id_12345');

8. デバッグ時の動作

デバッグモードではCrashlyticsの報告が有効にならないように設定することが推奨されます。

await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(!kDebugMode);

Buy me a coffee!

Flutterアプリ開発
シェアする
sogaをフォローする
タイトルとURLをコピーしました