📜  开始使用 firebase crashlytics (1)

📅  最后修改于: 2023-12-03 15:25:33.073000             🧑  作者: Mango

开始使用 Firebase Crashlytics

如果你正在构建一个应用程序,你一定会想让它尽可能稳定。你不希望用户遇到在Android系统或iOS系统崩溃的问题,因为它会给用户留下一个不好的印象,并可能使他们停止使用你的应用程序。Firebase Crashlytics 可以帮助你收集应用程序中的崩溃报告,快速诊断问题,并提供专业的崩溃分析和实时统计信息。在本文中,我们将介绍如何开始使用Firebase Crashlytics来监视和维护应用程序的稳定性。

步骤一: 添加Firebase Crashlytics到你的应用程序中

首先,在你的应用程序中添加Firebase Crashlytics SDK。你需要在Firebase控制台的应用程序设置中创建一个新项目,然后添加Firebase Crashlytics到项目中。Firebase Crashlytics目前支持Android和iOS应用程序,建议你先添加Firebase Analytics SDK,并使用Firebase UI来验证用户身份。

添加Firebase Crashlytics到Android应用程序

要将Firebase Crashlytics SDK添加到Android应用程序中,请在项目中的build.gradle文件中添加以下行:

dependencies {
  //添加Firebase Analytics SDK
  implementation 'com.google.firebase:firebase-analytics:17.6.0'
  
  //添加Firebase Crashlytics SDK
  implementation 'com.google.firebase:firebase-crashlytics:17.6.0'
  
  //开启Firebase Crashlytics自定义有符号堆栈跟踪(可选)
  implementation 'com.google.firebase:firebase-crashlytics-ndk:17.6.0'
}
添加Firebase Crashlytics到iOS应用程序

要将Firebase Crashlytics SDK添加到iOS应用程序中,请使用CocoaPods并在Podfile文件中添加以下行:

pod 'Firebase/Crashlytics'
步骤二: 初始化Firebase Crashlytics SDK

在你的应用程序代码中,初始化Firebase Crashlytics SDK。

在Android中初始化Firebase Crashlytics

在你的应用程序类中,向onCreate方法添加以下代码:

//初始化Firebase Analytics
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(true);

//初始化Firebase Crashlytics
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setUserId("user12345");

在这个例子中,我们启用了Firebase Analytics和Firebase Crashlytics的集合,并设置了用户ID。这将有助于你识别哪些用户正在遇到问题,并为他们提供更好的支持。

初始化 Firebase Crashlytics SDK

在你的应用程序代码中,初始化Firebase Crashlytics SDK,并使用Firebase的应用程序密钥初始化Firebase。这是一个简单的例子:

//初始化Firebase
FirebaseApp.configure()

//初始化Firebase Crashlytics
FirebaseCrashlytics.crashlytics().log("Application started")

通常,在你的应用程序中,你将继续使用比log更详细的信息来启动Firebase Crashlytics,例如Firebase Crashlytics日志或事件。与其他日志记录平台或框架不同,Firebase Crashlytics只记录最新的日志和事件。

步骤三: 测试Firebase Crashlytics

一旦你的应用程序开始使用Firebase Crashlytics,你需要测试它是否有效,是否可以接收崩溃报告。导致应用程序崩溃的问题可能因不同的问题而异,如内存泄漏,主线程阻塞等。

在Android中测试Firebase Crashlytics

为了测试Firebase Crashlytics,在应用程序中人为地引发意外崩溃,例如从数组中获取无效的访问器或为null对象设置属性,如下所示:

fun crashTheApp() {
  throw RuntimeException("This is a test crash")
}

当应用程序崩溃时,你可以在Firebase控制台的Crashlytics选项卡中查看崩溃报告。该报告包含有关用户、设备、应用程序以及堆栈跟踪和日志的详细信息,这将有助于你快速定位问题。

在iOS中测试Firebase Crashlytics

在iOS应用程序中测试Firebase Crashlytics,你可以使用以下函数模拟崩溃:

func crashTheApp() {
  fatalError("This is a test crash")
}

然后,你可以在Firebase控制台中查看崩溃报告。

步骤四: 解决崩溃问题

当你通过Firebase Crashlytics收到崩溃报告时,你可以使用Firebase Crashlytics控制台并简化的崩溃分析页面,查看崩溃日志和有符号堆栈跟踪,以获得有关崩溃原因和位置的更多信息。如下图所示:

Firebase Crashlytics控制台

为了帮助你解决崩溃问题,Firebase Crashlytics提供了几个工具,如导致崩溃的代码行号、最近代码更改等。这些信息可以帮助你更快地解决崩溃问题。

修改Firebase Crashlytics事件和日志

在处理崩溃问题时,可以使用以下代码修改Firebase Crashlytics事件和日志:

//记录一些非崩溃事件和日志
FirebaseCrashlytics.getInstance().log("This is a log message")
FirebaseCrashlytics.getInstance().setCustomKey("customKey", "customValue")

Firebase Crashlytics仅记录最新的日志和事件,因此你应该经常更新这些信息。

结论

Firebase Crashlytics是一个非常有用的工具,可以帮助你检测和诊断你的Android或iOS应用程序中的崩溃问题。在本文中,我们介绍了如何在你的应用程序中添加Firebase Crashlytics SDK,并初始化SDK,如何测试Firebase Crashlytics以及如何解决崩溃问题。我们强烈建议你将Firebase Crashlytics添加到你的应用程序中,并使用它来维护你应用程序的稳定性。

注意: 稳定性是所有应用程序的重要方面。为了确保你的应用程序尽可能稳定,请使用其他稳定性工具,如Firebase Analytics和Firebase Performance Monitoring,以补充Firebase Crashlytics。