跳转至正文

适用于 Capacitor 应用的 Firebase Crashlytics

通过分步指南了解如何为 iOS 和 Android 设置 Crashlytics,并将实时崩溃报告集成到移动应用中。

适用于 Capacitor 应用的 Firebase Crashlytics

Firebase Crashlytics 能帮助你实时追踪应用崩溃,并提供详细报告以便快速修复问题。它可以与以下工具无缝集成: Capacitor 适用于 iOS 和 Android 应用。以下是你需要了解的内容:

  • 为什么要使用 Crashlytics?

    • 在收集位置数据前, 实时崩溃警报.
    • 通过以下功能分析详细的崩溃报告: 自动问题分组.
    • 监控关键错误,确保应用稳定运行。
  • 环境要求:

    • 安装 Node.js (v16+), Capacitor (v4+)以及如下工具: Xcode 14+ 和 Android Studio 电鳗.
    • 下载 Firebase 配置文件 (GoogleService-Info.plist iOS 端, google-services.json Android 端)。
    • 更新平台特定的文件,例如 Podfile (iOS) 和 build.gradle (Android)。
  • 关键步骤:

    • 安装 Crashlytics:

      npm install @capgo/capacitor-firebase-crashlytics && npx cap sync
    • 在应用中初始化 Crashlytics:

      import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
      await FirebaseCrashlytics.initialize();
  • 测试配置:

    • 触发测试崩溃:

      await FirebaseCrashlytics.crash();
  • 进阶技巧: 将 Crashlytics 与 Capgo 结合使用,无需等待 App Store 审核即可实现即时 Live Update。

本指南将确保您的应用运行稳定且用户体验良好。立即开始配置 Firebase Crashlytics 吧!

2021 Android 指南: Firebase Crashlytics - 自定义崩溃 ...

Firebase Crashlytics

配置要求

在开始之前,请确保您已完成以下步骤:

所需软件与账号

您需要安装以下内容:

  • Node.js (v16 或更高版本) 以及 Capacitor (v4 或更高版本)
  • 一个 Firebase 账号 且拥有一个活跃项目
  • Xcode 14+ 用于 iOS 开发
  • Android Studio Electric Eel 或更高版本用于 Android 开发
  • 最新版本的 CocoaPods (iOS 开发必选)

平台配置文件

iOS 端:

  • 下载 GoogleService-Info.plist 来自 Firebase Console 的文件。
  • 更新您的 Podfile 以包含 Crashlytics 依赖项。
  • 在你的项目中添加必要的隐私权限 key: Info.plist 文件中设置。

针对 Android:

  • 获取 google-services.json 文件。
  • 同时修改项目级和应用级的 build.gradle 文件。
  • 更新 AndroidManifest.xml 以包含所需的权限。

Firebase Console 设置

Firebase 平台控制台

按照以下步骤设置 Firebase 并启用 Crashlytics:

  1. 创建 Firebase 项目 并启用 Crashlytics。

  2. 注册您的应用 在 Firebase Console 中:

    • 使用 Bundle ID 适用于 iOS,以及 包名 用于 Android。
    • 下载配置文件: GoogleService-Info.plist (iOS) 以及 google-services.json (Android)。
  3. 集成 Firebase SDKs 只需在应用中添加以下依赖项:

    针对 Android (应用级 build.gradle):

    dependencies {
        implementation platform('com.google.firebase:firebase-bom:32.0.0')
        implementation 'com.google.firebase:firebase-crashlytics'
        implementation 'com.google.firebase:firebase-analytics'
    }

    针对 iOS (Podfile):

    pod 'Firebase/Crashlytics'
    pod 'Firebase/Analytics'

完成上述步骤后,即可进入“插件安装”章节。

安装步骤

插件安装

然后,将插件与原生平台同步,并查看 @capgo/capacitor-firebase-crashlytics 插件页面以获取完整的 API 参考:

npm install @capgo/capacitor-firebase-crashlytics && npx cap sync

然后,在应用中初始化 Crashlytics。添加以下 code 到 app.component.ts 或 main.ts:

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.initialize();

平台配置

为 Android 和 iOS 平台设置必要的配置。

Android 配置

  1. 在应用级 build.gradle 中添加 Crashlytics Gradle 插件 build.gradle 文件:

    buildscript { 
        dependencies { 
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.5' 
        } 
    }
    apply plugin: 'com.google.firebase.crashlytics'
  2. 在以下环境中启用崩溃收集: AndroidManifest.xml:

    <meta-data
        android:name="firebase_crashlytics_collection_enabled"
        android:value="true" />

iOS 配置

  1. Configure Firebase in AppDelegate.swift:

    import Firebase
    FirebaseApp.configure()

测试你的设置

通过运行测试崩溃并检查 Firebase Console 来确认 Crashlytics 是否工作正常:

  • 使用自定义键触发测试崩溃:

    await FirebaseCrashlytics.setCustomKey({key: 'test_scenario', value: 'manual_crash'});
    await FirebaseCrashlytics.crash();
  • (可选)标识用户:

    await FirebaseCrashlytics.setUserId({userId: 'user123'});
  • 记录自定义事件:

    await FirebaseCrashlytics.log({message: 'Test crash triggered'});

包含堆栈跟踪、设备详情和自定义键的报告应在约 5 分钟内出现在 Firebase Console 中。

重要提示: 发布应用前请移除崩溃调用。若要在开发期间禁用崩溃收集,请使用:

await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: false});

监控指南

通过测试崩溃确认配置完成后,即可使用 Firebase Console 追踪线上应用的实际崩溃和错误。

查看崩溃报告

您可以在 Firebase Console 的 Crashlytics 板块中找到崩溃报告。以下是您会看到的内容:

  • 无崩溃用户数:未发生崩溃的用户占比。
  • 问题稳定性:崩溃发生的频率。
  • 影响分析:受影响的用户数量。

点击任意问题即可深入查看详情,包括堆栈跟踪、设备信息(如 OS 版本、内存)、custom keys、logs,以及崩溃前的用户操作路径。

专家提示:启用“velocity alerts”功能,在崩溃率突然升高时收到通知。这有助于你在问题影响过多用户之前及时处理。

错误管理技巧

  • 按影响程度排优先级:重点关注影响用户最多或发生在 App 关键部分的崩溃。跟踪趋势有助于你识别紧急问题。

  • 使用 Custom Keys:通过 custom keys 为崩溃报告添加上下文信息。例如:

    await FirebaseCrashlytics.setCustomKey({
      key: 'current_view',
      value: 'payment_processing'
    });
  • 聚合相似问题: 利用 Firebase 的自动问题分组功能。你还可以用一致的自定义键标记相关崩溃,并使用清晰、描述性的标题,方便追踪。

保护用户隐私

为确保合规并保护用户数据,请遵循以下指南:

  • 权限:

    • 在隐私政策中提及崩溃报告。
    • 在受 GDPR 监管的地区,就数据收集征得用户同意。
    • 为用户提供退出崩溃报告的选项。
  • 数据收集控制:

    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: false});
    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: true});
  • 数据保留:

    • 设置数据在 90 天后自动删除。
    • 从报告中清除敏感信息。
    • 在调试时使用不可识别的自定义键,以保护用户隐私。

Capgo 集成

Capgo Live Update Dashboard 界面

将 Capgo 的 live update 系统与 Crashlytics 结合,简化从崩溃检测到修复部署的全流程。

关于 Capgo

Capgo 是一款专为以下场景设计的 live update 工具: Capacitor 应用目前已有超过 1,900 款应用投入生产,24 小时内的更新率达 95%,确保无需等待 App Store 审核即可快速修复问题。 [1].

核心功能包括:

  • 端到端加密 实现安全更新
  • 一键回滚 回退至旧版本
  • 基于 Channel 的分发模式 实现定向发布
  • 无缝集成 CI/CD
  • 一个 100% 开源平台

Crashlytics 与 Capgo 强强联手

将 Crashlytics 与 Capgo 结合使用,可以构建高效的工作流,快速定位并解决问题。

工作原理如下:

  1. 崩溃检测与响应
    Crashlytics 识别崩溃,随后 Capgo 允许你立即部署修复方案,无需等待 App Store 审核。

  2. 定向更新

    • Beta 测试: 通过特定用户群测试修复效果,确保方案有效。
    • 分阶段发布: 逐步部署更新,降低潜在风险。
    • 紧急修复: 快速推送关键补丁,解决紧急问题。
  3. 监控与验证
    使用 Capgo 部署更新后,利用 Crashlytics 追踪崩溃率,确认问题已解决。

安全与 App Store 规则

Capgo 在提供强大安全特性的同时,严格遵守 Apple 和 Google 的政策:

  • 更新交付全球成功率达 82% [1]
  • 自动版本控制,实现更佳的组织管理
  • 符合 App Store live update 指南

如需安全集成 Crashlytics:

  • 在两个系统中同时启用错误追踪。
  • 结合 Crashlytics 报告,使用 Capgo 的监控工具。
  • 为所有更新保留版本控制。
  • 保留详细的更新日志以供审计。

前往 Plugin Options 部分探索其他 live update 工具。

插件选项

选择合适的崩溃报告插件,将极大影响您识别和修复 App 错误的方式。

以下是 Crashlytics 与其他适用于 Capacitor 的流行错误报告工具的快速对比:

  • Sentry:提供免费层级,付费方案每月 $26 起。支持 30 多个平台,并提供带有详细上下文的实时错误监控。
  • Bugsnag:每月 $47 起。覆盖移动端和 Web 平台,具备自动错误分组和版本发布追踪功能。
  • Rollbar:每月 $31 起。支持多平台运行,具备部署追踪和人员追踪等功能。

对于已经在用 Firebase 的团队来说,Crashlytics 非常有吸引力,因为它集成顺畅且提供免费层级。

总结

以下是您已完成的工作以及接下来的步骤:

配置步骤回顾

您已完成启动所需的三个关键步骤:

  • 创建了 Firebase 项目并注册了您的 iOS/Android 应用。
  • 安装并配置了 Crashlytics 插件。
  • 已更新必要的 iOS 和 Android 平台文件。

为什么要集成这些工具?

将 Firebase Crashlytics 与 Capgo 结合使用,可以为您构建强大的错误追踪与 更新管理系统。以下是该组合带来的优势:

  • 快速修复:只需点击一下,即可推送即时更新或回滚更改。
  • 可靠发布:确保更新被广泛采用并平滑地交付给用户。

下一步该做什么?

  1. 在 Firebase Console 中开启详细的崩溃分析。
  2. 将 Capgo 添加到您的 CI/CD pipeline 中,实现自动化更新。
  3. 使用 Capgo 通道 逐步测试并发布修复方案。

有了 Crashlytics 和 Capgo,您可以确保应用持续稳定运行并不断优化。

进阶指南:为 Capacitor 应用配置 Firebase Crashlytics

如果你正在使用 适用于 Capacitor 应用的 Firebase Crashlytics 要规划原生插件工作,请将其连接到 Capgo 插件目录 用于 Capgo 插件目录中的产品工作流, 由 Capgo 提供的 Capacitor 插件 有关 Capgo 编写的 Capacitor 插件实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节, Ionic Enterprise 插件替代方案 了解 Ionic Enterprise 插件替代方案的产品工作流,以及 Capgo Native Build 关于 Capgo Native Builds 中的产品工作流。

为 Capacitor 应用提供实时更新

当 Web 层 Bug 已上线时,通过 Capgo 推送修复,不必等 App Store 审核数天。用户会在后台获取更新,而原生变更仍走常规审核流程。

博客最新文章

Capgo 为你提供打造真正专业移动应用所需的深度洞察。