8.7 发布—WinterCG 兼容性第一部分
了解更多

在 GitHub 上查看

@nativescript/firebase-crashlytics

允许您将 Firebase Crashlytics 添加到您的 NativeScript 应用的插件。

注意

使用此插件与 @nativescript/firebase-core 插件一起初始化 Firebase。

Crashlytics 可帮助您收集有关应用中发生的崩溃和错误的分析和详细信息。它通过三个方面来实现这一点

  • 日志:记录应用中的事件,以便在应用崩溃时与崩溃报告一起发送,以提供上下文。
  • 崩溃报告:每个崩溃都会自动转换为崩溃报告并发送。
  • 堆栈跟踪:即使错误被捕获且应用恢复,JavaScript 堆栈跟踪仍可以发送。

image

安装

通过在项目的根目录中运行以下命令来安装插件。

cli
npm install @nativescript/firebase-crashlytics

使用 @nativescript/firebase-crashlytics

记录崩溃上下文

在整个应用中使用 log 方法来累积可能发生的崩溃的额外上下文。

ts
import { firebase } from '@nativescript/firebase-core'
import '@nativescript/firebase-crashlytics' // only needs to be imported 1x

const crashlytics = firebase().crashlytics()
crashlytics.log('User signed in.')

设置崩溃属性以获取更多上下文数据

为了提供更多上下文,Crashlytics 还提供各种方法来设置崩溃报告的属性。

  • 要设置单个属性,请调用 setAttribute 方法,将属性名称作为第一个参数传递,并将属性值作为第二个参数传递。
ts
import { firebase } from '@nativescript/firebase-core'
import '@nativescript/firebase-crashlytics' // only needs to be imported 1x

const crashlytics = firebase().crashlytics()

crashlytics().setAttribute('credits', String(user.credits))
  • 要一次设置多个属性,请使用包含这些属性的对象调用 setAttributes 方法。
ts
import { firebase } from '@nativescript/firebase-core'
import '@nativescript/firebase-crashlytics' // only needs to be imported 1x

const crashlytics = firebase().crashlytics()

crashlytics().setAttributes({
  role: 'admin',
  followers: '13',
  email: user.email,
  username: user.username,
})

您可以使用 set 方法来设置预定义的属性,但也可以设置您自己的自定义属性。

  • 您还可以设置用户 ID。为此,请在 firebase().crashlytics() 上调用 setUserId 方法。
ts
import { firebase } from '@nativescript/firebase-core'
import '@nativescript/firebase-crashlytics' // only needs to be imported 1x

const crashlytics = firebase().crashlytics()

crashlytics.setUserId(user.uid)

测试 Crashlytics

要测试应用的 Crashlytics,请调用 crash 方法以强制发生崩溃,并在 Firebase 控制台中查看是否记录了崩溃。

ts
firebase().crashlytics().crash()

手动报告错误

Crashlytics 还支持将 JavaScript 堆栈跟踪发送到 Firebase 控制台。这可用于任何发生错误但被您的代码捕获以优雅恢复的情况。

要发送堆栈跟踪,请将 JavaScript Error 传递给 recordError 方法。

即使您捕获了意外错误,为了使您的应用恢复并平稳运行,您仍然可以使用 recordError 方法通过 Crashlytics 报告这些错误。这还将为您提供相关的堆栈跟踪。

ts
import { firebase } from '@nativescript/firebase-core'

firebase().crashlytics().log('Updating user count.')

try {
  if (users) {
    someMethodToCatch()
  }
} catch (error) {
  crashlytics().recordError(error)
  console.log(error)
}

手动启用或禁用 Crashlytics 收集

由于 Crashlytics 将发送有关用户的某些信息,因此用户可能希望选择退出崩溃报告。要禁用 Crashlytics 收集,请在 firebase().crashlytics() 上调用 setCrashlyticsCollectionEnabled 方法,并将 false 传递给它。这可以通过简单的 setCrashlyticsCollectionEnabled 方法调用在整个应用中完成。

ts
import { firebase } from '@nativescript/firebase-core'

firebase().crashlytics().setCrashlyticsCollectionEnabled(false)

API

Crashlytics

Crashlytics 类包含以下成员。

属性

属性类型描述
ios只读
android只读
appFirebaseApp只读

方法

方法返回值描述
checkForUnsentReports()Promise<boolean>
crash()void
deleteUnsentReports()void
didCrashOnPreviousExecution()boolean
log(message: string)void
recordError(error: any)void
sendUnsentReports()void
setAttribute(name: string, value: string | number | boolean)void
setAttributes(attributes: { [key: string]: string | number | boolean })void
setCrashlyticsCollectionEnabled(enabled: boolean)void
setUserId(userId: string)void

许可证

Apache 许可证 2.0 版

上一个
认证
下一个
数据库