@nativescript/firebase-crashlytics
NativeScript Firebase - Crashlytics
npm i --save @nativescript/firebase-crashlytics

@nativescript/firebase-crashlytics

一个插件,允许您将 Firebase Crashlytics 添加到您的 NativeScript 应用程序。

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

Crashlytics 帮助您收集有关应用程序中发生的崩溃和错误的分析和详细信息。它通过以下三个方面实现

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

image

安装

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

npm install @nativescript/firebase-crashlytics

使用 @nativescript/firebase-crashlytics

记录崩溃上下文

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

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 方法,将其属性名称作为第一个参数,其值作为第二个参数。
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 方法,传递包含属性的对象。
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 方法。
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 控制台中查看是否已记录崩溃。

firebase().crashlytics().crash();

手动报告错误

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

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

即使捕获到意外的错误,您也可以通过 Crashlytics 使用 recordError 方法报告它们。这将为您提供关联的堆栈跟踪。

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。您可以在整个应用程序中使用简单的调用来设置 CrashlyticsCollectionEnabled。

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

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

API

Crashlytics

Crashlytics 类具有以下成员。

属性

属性 类型 描述
ios 只读
android 只读
应用 Firebase应用 只读

方法

方法 返回 描述
checkForUnsentReports() Promise<布尔型>
crash() void
deleteUnsentReports() void
didCrashOnPreviousExecution() 布尔型
log(message: 字符串) void
recordError(error: 任何类型) void
sendUnsentReports() void
setAttribute(name: 字符串, value: 字符串 | 数字 | 布尔型) void
setAttributes(attributes: { [key: 字符串]: 字符串 | 数字 | 布尔型 }) void
setCrashlyticsCollectionEnabled(enabled: 布尔型) void
setUserId(userId: 字符串) void

许可证

Apache许可证版本2.0