@capacitor-community/firebase-crashlytics

中文文档
3.0.0发布于 2023/05/14MITTypeScriptESM + CJS零依赖近 30 天下载 3631

Firebase Crashlytics的电容插件.

中文使用文档
文档目录23 节
  1. 火灾基地崩溃
  2. 维护者
  3. 安装
  4. 机器人
  5. iOS系统
  6. 配置
  7. 演示
  8. 使用量
  9. API 密码
  10. 崩溃(...)
  11. 设置 Context (...)
  12. set 用户(...)
  13. 添加LogMessage(...)
  14. 设置可启用(...)
  15. 已启用
  16. 前一次崩溃执行( C)
  17. 发送未经同意的报告( )
  18. 删除未经同意的报告( )
  19. 记录例外(...)
  20. 接口
  21. 测试您的执行
  22. 更改日志
  23. 许可证


火灾基地崩溃

@capacitor-community/firebase-crashlytics

电容插件 火灾基地崩溃。 。 。 .


维护者

维护者GitHub 图像社会
罗宾·根兹抢劫@robin genz (中文(简体) )

安装

npm install @capacitor-community/firebase-crashlytics
npx cap sync

如果您还没有将 Firebase 添加到您的项目中(机器人 编号 : iOS系统) (中文(简体) ).

机器人

见 在您的应用程序中添加 Firebase 崩溃处理插件 并遵守指示 正确设置您的应用程序.

变量

此插件将使用以下工程变量( 在您的应用程序中定义) variables.gradle 文件名 :

  • $firebaseCrashlyticsVersion 版本 com.google.firebase:firebase-crashlytics (默认 : 18.2.8(中文(简体) )

iOS系统

见 设置 Xcode 可以自动上传 dSYM 文件 并遵守正确设置 Xcode 的指示.
请注意: 一节中使用的路径 4.c 指南应:

"${PODS_ROOT}/FirebaseCrashlytics/run"

配置

此插件不需要配置 .

演示

这里有一个实例: robingenz/电容器-火力基地-插座-demo

使用量

import { FirebaseCrashlytics } from '@capacitor-community/firebase-crashlytics';

const crash = async () => {
  await FirebaseCrashlytics.crash({ message: 'Test' });
};

const setContext = async () => {
  await FirebaseCrashlytics.setContext({ 
    key: 'page',
    value: 'home',
    type: 'string'
  });
};

const setUserId = async () => {
  await FirebaseCrashlytics.setUserId({
    userId: '123'
  });
};

const addLogMessage = async () => {
  await FirebaseCrashlytics.addLogMessage({
    message: 'Test'
  });
};

const setEnabled = async () => {
  await FirebaseCrashlytics.setEnabled({
    enabled: true,
  });
};

const isEnabled = async () => {
  const result = await FirebaseCrashlytics.isEnabled();
  return result.enabled;
};

const didCrashDuringPreviousExecution = async () => {
  const result = await FirebaseCrashlytics.didCrashDuringPreviousExecution();
  return result.crashed;
};

const sendUnsentReports = async () => {
  await FirebaseCrashlytics.sendUnsentReports();
};

const deleteUnsentReports = async () => {
  await FirebaseCrashlytics.deleteUnsentReports();
};

const recordException = async () => {
  await FirebaseCrashlytics.recordException({
    message: 'This is a non-fatal message.'
  });
};

import * as StackTrace from 'stacktrace-js';

const recordExceptionWithStacktrace = async (error: Error) => {
    const stacktrace = await StackTrace.fromError(error);
    await FirebaseCrashlytics.recordException({
        message: 'This is a non-fatal message.',
        stacktrace
    });
};

API 密码

崩溃(...)

crash(options: { message: string; }) => Promise<void>

强制坠机测试实施.

仅供Android和iOS使用.

参数类型
options{ message: string; }

设置 Context (...)

setContext(options: ContextOptions) => Promise<void>

设置一个自定义密钥和值,该密钥和值与随后的致命和非致命报告相关.

仅供Android和iOS使用.

参数类型
optionsContextOptions

set 用户(...)

setUserId(options: { userId: string; }) => Promise<void>

设置一个与随后的致命和非致命报告相关的用户ID(识别符).

仅供Android和iOS使用.

参数类型
options{ userId: string; }

添加LogMessage(...)

addLogMessage(options: { message: string; }) => Promise<void>

添加随崩溃数据发送的日志消息. 只在崩溃仪表板上可见.

仅供Android和iOS使用.

参数类型
options{ message: string; }

设置可启用(...)

setEnabled(options: { enabled: boolean; }) => Promise<void>

启用/ 无法自动收集数据 . 该值在应用程序的下一轮运行之前不应用 .

仅供Android和iOS使用.

参数类型
options{ enabled: boolean; }

已启用

isEnabled() => Promise<{ enabled: boolean; }>

返回是否启用自动数据收集.

仅供iOS使用.

回返情况: Promise<{ enabled: boolean; }>


前一次崩溃执行( C)

didCrashDuringPreviousExecution() => Promise<{ crashed: boolean; }>

返回应用程序在上次执行中是否崩溃 .

仅供Android和iOS使用.

回返情况: Promise<{ crashed: boolean; }>


发送未经同意的报告( )

sendUnsentReports() => Promise<void>

上传未发送的报表到崩溃分析器. 当自动数据收集被启用时,崩溃器会在启动时自动上传报告.

仅供Android和iOS使用.


删除未经同意的报告( )

deleteUnsentReports() => Promise<void>

删除设备上任何未发送的报告.

仅供Android和iOS使用.


记录例外(...)

recordException(options: RecordExceptionOptions) => Promise<void>

记录一份非致命报告 发送到Crashlytics.

仅供Android和iOS使用.

参数类型
optionsRecordExceptionOptions

接口

选项

Prop类型
keystring
valuestring | number | boolean
type'string' | 'boolean' | 'long' | 'double' | 'int' | 'float'

记录例外选项

Prop类型说明
messagestring
codenumber特定出错域内的出错代码 。 此选项在 stacktrace 提供。 仅供iOS使用.
domainstring包含错误域的字符串 。 此选项在 stacktrace 提供。 仅供iOS使用.
stacktraceStackFrame[]一个堆栈跟踪由 stacktrace.js组合 code 财务报告和审定财务报表 domain。 。 。 .

堆叠外观

Stacktrace 生成的子集 stacktrace.js。 。 。 .

Prop类型
lineNumbernumber
fileNamestring
functionNamestring

测试您的执行

给 您可以找到更多关于如何测试火地崩溃处理程序的信息. 除其他外,你会找到如何正确的信息 调整工程的调试设置 在iOS下如何进行 试试看。 。 。 .

如果你得到iOS的模糊的崩溃报告, 请确保你有 初始化崩溃 正确,看一看 本指南如果Crashlytics找不到你的应用程序的dSYM,它提供了一些解决问题的方法.

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

版本与发布记录

@capacitor-community/firebase-crashlytics 共发布 22 个版本,首次发布于 2020/06/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.0.0latest2023/05/143 年前
2.0.02023/02/243 年前
2.0.0-1next2022/08/054 年前
2.0.0-02022/08/054 年前
1.3.02022/03/084 年前
1.2.12022/01/274 年前

其他发布通道:dev → 0.4.0-dev.b6721f9,next → 2.0.0-1。

关于 @capacitor-community/firebase-crashlytics 的常见问题

@capacitor-community/firebase-crashlytics 是什么?

Firebase Crashlytics的电容插件.

如何安装 @capacitor-community/firebase-crashlytics?

在项目目录运行 npm install @capacitor-community/firebase-crashlytics,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(^5.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capacitor-community/firebase-crashlytics 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capacitor-community/firebase-crashlytics 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capacitor-community/firebase-crashlytics 可以商用吗?

@capacitor-community/firebase-crashlytics 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@capacitor-community/firebase-crashlytics 的下载量有多少?

根据 npm 官方下载统计,@capacitor-community/firebase-crashlytics 在 2026/10/09 – 2026/11/07 这 30 天内被下载 3,631 次,日均约 121 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capacitor-community/firebase-crashlytics 还在维护吗?

最新版本 3.0.0 发布于 2023/05/14(3 年前);至今共发布 22 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/06/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。