Flutter崩溃报告插件eggnstone_google_crashlytics的使用

发布于 1周前 作者 ionicwang 来自 Flutter

eggnstone_google_crashlytics #

Google Crashlytics的包装器。允许通过Firebase进行报告。

pub package GitHub Issues GitHub Stars

Android: 为了让Crashlytics工作,添加以下内容 #

  • android/build.gradle文件的底部添加:
apply plugin: 'com.google.gms.google-services'
  • android/app/build.gradle文件的buildscript / dependencies部分添加:
classpath 'com.google.gms:google-services:4.3.12'

iOS: 为了让Crashlytics工作,添加以下内容 #

  • 确保在项目的根目录下有一个GoogleService-Info.plist文件。
  • 将GoogleService-Info.plist文件添加到Xcode项目中。

使用方法 #

首先,在项目的pubspec.yaml文件中添加依赖:

dependencies:
  eggnstone_google_crashlytics: ^0.1.0

然后运行flutter pub get来安装依赖。

报告崩溃 #

要手动报告一个崩溃,可以使用以下代码:

import 'package:eggnstone_google_crashlytics/eggnstone_google_crashlytics.dart';

void main() {
  EggnstoneGoogleCrashlytics crashlytics = EggnstoneGoogleCrashlytics();

  // 手动记录错误
  crashlytics.log('This is a log message.');
  
  // 手动抛出异常
  try {
    throw Exception('This is an exception.');
  } catch (e) {
    crashlytics.recordError(e);
  }

  runApp(MyApp());
}

初始化Crashlytics #

通常在应用启动时初始化Crashlytics,例如在main函数中:

import 'package:flutter/material.dart';
import 'package:eggnstone_google_crashlytics/eggnstone_google_crashlytics.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await EggnstoneGoogleCrashlytics().initialize();

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Crashlytics Demo')),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              throw Exception('This is a test exception.');
            },
            child: Text('Simulate Crash'),
          ),
        ),
      ),
    );
  }
}

以上是使用Flutter崩溃报告插件eggnstone_google_crashlytics的基本步骤。通过这些步骤,你可以轻松地集成和使用Crashlytics来监控你的应用程序的崩溃情况。


更多关于Flutter崩溃报告插件eggnstone_google_crashlytics的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter崩溃报告插件eggnstone_google_crashlytics的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成和使用eggnstone_google_crashlytics插件的一个详细代码案例。这个插件是基于Firebase Crashlytics的,用于捕获和处理Flutter应用的崩溃报告。

步骤 1:添加依赖

首先,你需要在你的pubspec.yaml文件中添加eggnstone_google_crashlytics的依赖。

dependencies:
  flutter:
    sdk: flutter
  eggnstone_google_crashlytics: ^x.y.z  # 请替换为最新版本号

步骤 2:设置Firebase项目

  1. 前往Firebase Console创建一个新的Firebase项目,或者选择你已有的项目。
  2. 在Firebase项目中启用Crashlytics。
  3. 获取项目的google-services.json文件,并将其放置在Flutter项目的android/app/目录下。

步骤 3:配置Android项目

确保在android/app/build.gradle文件中应用Firebase插件的配置。

android {
    ...
    defaultConfig {
        ...
        applicationId "com.example.yourapp"  // 替换为你的应用ID
        ...
        // 添加以下行来启用Firebase Crashlytics
        ndk {
            abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        }
    }
    ...
}

dependencies {
    ...
    // 添加Firebase和Crashlytics的依赖
    classpath 'com.google.gms:google-services:4.3.10'  // 请确保使用最新版本
}

// 在文件的底部添加以下行
apply plugin: 'com.google.gms.google-services'

步骤 4:初始化插件

在你的Flutter应用的主入口文件(通常是main.dart)中初始化eggnstone_google_crashlytics插件。

import 'package:flutter/material.dart';
import 'package:eggnstone_google_crashlytics/eggnstone_google_crashlytics.dart';

void main() {
  // 初始化Crashlytics
  EggnstoneGoogleCrashlytics.instance.initialize();

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  void _causeCrash() {
    // 故意制造一个崩溃,以测试Crashlytics
    null?.call();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              'Crash Test',
              style: TextStyle(fontSize: 24),
            ),
            ElevatedButton(
              onPressed: _causeCrash,
              child: Text('Cause Crash'),
            ),
          ],
        ),
      ),
    );
  }
}

步骤 5:测试崩溃报告

运行你的Flutter应用,并点击“Cause Crash”按钮来触发一个崩溃。稍后,你可以在Firebase Console的Crashlytics部分查看崩溃报告。

注意事项

  • 确保你的Firebase项目设置正确,并且google-services.json文件已正确放置。
  • 确保你已经在Firebase Console中启用了Crashlytics,并且你的应用已经下载并安装了最新版本的Firebase SDK。
  • 当你发布应用到生产环境时,确保你已经移除了任何故意制造的崩溃代码。

这个代码案例展示了如何在Flutter项目中集成和使用eggnstone_google_crashlytics插件来捕获和处理崩溃报告。希望这能帮助你有效地监控和管理你的Flutter应用的稳定性。

回到顶部