- 版本: 3.3.2
- GitHub: https://github.com/NativeScript/firebase
- NPM: https://npmjs.net.cn/package/%40nativescript%2Ffirebase-crashlytics
- 下载
- 前一天: 64
- 上周: 373
- 上个月: 1557
@nativescript/firebase-crashlytics
- 简介
- 安装
- 使用 @nativescript/firebase-crashlytics
- 记录崩溃上下文
- 设置崩溃属性以获取更多上下文数据
- 测试 crashlytics
- 手动报告错误
- [手动启用或禁用 crashlytics 收集](#manually-enable-or-disable-crashlytics-collection
- API
- 许可证
一个插件,允许您将 Firebase Crashlytics 添加到您的 NativeScript 应用程序。
注意: 使用此插件与 @nativescript/firebase-core 插件一起初始化 Firebase。
Crashlytics 帮助您收集有关应用程序中发生的崩溃和错误的分析和详细信息。它通过以下三个方面实现
- 日志:将应用程序中的事件记录下来,以便在应用程序崩溃时与崩溃报告一起发送上下文。
- 崩溃报告:每个崩溃都会自动转换为崩溃报告并发送。
- 堆栈跟踪:即使错误被捕获并且应用程序恢复,JavaScript 堆栈跟踪仍然可以发送。
安装
在项目的根目录中运行以下命令来安装插件。
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