跳过主要内容

在Capacitor中设置性能监控

了解如何使用 Firebase 和 Sentry 在您的应用程序中设置性能监控,以提高效率和用户满意度。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销人员

在Capacitor中设置性能监控

想优化你的 Capacitor 应用程序的性能? 像Firebase和Sentry这样的监控工具可以帮助你跟踪崩溃、资源使用情况和响应时间,从而确保更流畅的用户体验。以下是快速概述: 为什么监控性能 :识别崩溃、优化资源使用和改进响应时间。 protectedTokens targetLanguage

  • textstranslations
  • 工具使用:
    • Firebase:实时性能数据、网络监控和自定义事件跟踪。
    • Sentry:详细错误跟踪、堆栈跟踪分析和实时通知。
  • 设置步骤:
    • 安装 Firebase 或 Sentry SDK。
    • 配置应用程序以跟踪性能指标或错误。
    • 使用仪表板分析和改进应用程序性能。

快速比较:

功能FirebaseSentry
实时监控轻微延迟几乎实时
原生支持Android, iOSAndroid, iOS, Web
自定义指标基础灵活
集成复杂度基于Google的工作流程简化 SDK 配置

为了实时更新,集成工具如 Capgo 立即推送修复而不受应用商店延迟。今天开始监控以提高应用的效率和用户满意度。

通过 Firebase 性能监控 …

Firebase 平台控制台

选择监控工具

选择一个适合您的应用需求和团队专业性的监控工具。以下是 Firebase Performance Monitoring 和 Sentry 的比较,以帮助您做出决定。

工具比较

功能Firebase性能监控Sentry
定价模型免费层可按需付费免费层可按需付费
实时监控性能见解有轻微延迟实时监控
原生平台支持Android和iOSAndroid、iOS和web
集成复杂度与 Google 服务兼容简单 SDK 配置
自定义事件跟踪基本自定义指标灵活的自定义事件跟踪
保留期免费层有限所有计划中均可扩展

选择标准

在选择这些工具时,请考虑以下因素:

  • 应用大小和流量: 对于预期快速增长的应用,Firebase是一个坚实的选择。 Sentry可能更适合于较小规模的实施。
  • 技术要求: Firebase需要 Google Play Services,使其成为该生态系统内的应用理想选择。 Sentry独立工作,提供了更大的灵活性跨平台。
  • 团队经验: Firebase与已熟悉Google工具的团队相吻合,而Sentry的简单SDK设置更适合广泛的用例。
  • 预算约束: 两者都提供免费层,但比较扩展功能的成本,以确保它们符合您的预算。
  • 集成目标: Firebase与Google基于的工作流程无缝集成,而Sentry在错误跟踪方面表现出色。
  • 法规要求: 确保工具符合标准,如 GDPR,尤其是如果您的应用程序处理敏感用户数据。
  • 更新频率: 如果频繁更新至关重要,工具如 Capgo 可以加快实时修复,补充您的监控设置。

Firebase 设置指南

在您的 Capacitor 应用程序中设置 Firebase 性能监控需要几个清晰的步骤以确保准确的数据跟踪。

安装 Firebase SDK

首先,添加 Firebase SDK 到您的项目并为您的平台(们)配置它:

  • 安装 Firebase 依赖项

运行以下命令来安装必要的 Firebase 包:

npm install @capgo/capacitor-firebase-performance
npm install firebase
  • 初始化 Firebase

在主应用文件中设置 Firebase:

import { FirebasePerformance } from '@capgo/capacitor-firebase-performance';
import { initializeApp } from 'firebase/app';

const firebaseConfig = {
  // Add your Firebase configuration object here
};

initializeApp(firebaseConfig);
await FirebasePerformance.initializePerformance();
  • 添加平台配置

更新您的 capacitor.config.json 文件以启用性能监控:

{
  "plugins": {
    "FirebasePerformance": {
      "collectMetrics": true,
      "instrumentationEnabled": true,
      "dataCollectionEnabled": true
    }
  }
}

设置性能跟踪

您可以使用 Firebase 性能监控跟踪特定应用活动,如数据库查询或网络请求。

  • 跟踪数据库查询
async function trackDatabaseQuery() {
  const trace = await FirebasePerformance.startTrace({ traceName: 'database_query' });

  // Perform your database operation
  await performDatabaseOperation();

  await FirebasePerformance.stopTrace({ traceName: 'database_query' });
}
  • 监控网络请求
await FirebasePerformance.setAttributes({
  traceName: 'api_call',
  attributes: {
    endpoint: '/users',
    method: 'GET'
  }
});
  • 跟踪自定义指标

对于自定义指标,例如跟踪购物车的值:

await FirebasePerformance.putMetric({
  traceName: 'checkout_flow',
  metricName: 'cart_value',
  value: 99.99
});

一旦这些跟踪被实施,你就可以在 Firebase 控制台中查看收集的数据。

使用 Firebase 控制台

在设置监控后,你可以在 Firebase 控制台中查看和分析你的应用程序的性能数据:

  1. 访问性能数据

    • 登录 Firebase 控制台。
    • 选择你的项目。
    • 导航到 性能监控.
    • 从下拉菜单中选择你的应用程序。
  2. 监控关键指标

仪表盘提供了各种性能指标的见解,包括:

  • 应用程序启动时间
  • 网络请求成功率
  • 屏幕渲染时间
  • 自定义跟踪结果
  1. 设置自定义报告

创建定制报告来分析应用性能的特定方面,例如:

  • 不同位置的性能差异
  • 基于设备类型的指标
  • 网络条件的影响
  • 自定义跟踪中的模式

使用这些工具来有效地识别和解决性能瓶颈。

Sentry 错误跟踪设置

Sentry 错误跟踪仪表板

Firebase 负责性能指标,但 Sentry 则专注于捕获和诊断错误。他们一起为您提供强大的监控设置。

安装 Sentry SDK

首先安装所需的 Sentry 包:

npm install @sentry/capacitor
# Add the Sentry package for your specific framework

安装完成后,在应用程序的入口点中设置 Sentry。

初始化 Sentry

使用以下设置在应用程序的入口点中配置 Sentry:

import * as Sentry from "@sentry/capacitor";
import { BrowserTracing } from "@sentry/browser";

Sentry.init({
    dsn: "your-project-dsn",
    integrations: [new BrowserTracing()],
    tracesSampleRate: 0.2,
    environment: "production",
    release: "app-version@" + process.env.VERSION,
    dist: process.env.BUILD_NUMBER,
    debug: false
});

此配置包括发布跟踪,用于将错误链接到特定应用程序版本。

配置错误跟踪

您可以通过使用自定义错误边界和 try-catch 块来进一步定制错误跟踪。

自定义错误边界:

class ErrorBoundary extends React.Component {
    componentDidCatch(error, errorInfo) {
        Sentry.captureException(error, { extra: errorInfo });
    }
}

跟踪特定错误:

try {
    riskyOperation();
} catch (error) {
    Sentry.captureException(error, {
        tags: { operation: "data_sync", severity: "critical" },
        extra: { userId: currentUser.id, timestamp: new Date().toISOString() }
    });
}

监控性能:

const transaction = Sentry.startTransaction({
    name: "API Request",
    op: "http.request"
});

try {
    await makeApiCall();
} finally {
    transaction.finish();
}

这些方法确保您的应用程序有效地记录错误,使其更容易跟踪和通过 Sentry 解决。

使用 Sentry 控制台

Sentry 控制台提供工具来深入了解错误:

  • 实时监控: 检查错误频率、解决状态和受影响用户。
  • 错误分析: 评审堆栈跟踪、组类似错误并根据环境过滤。
  • 警报: 设置错误阈值、配置通知选项并创建自定义警报规则。

该控制台使诊断和修复问题变得简单。

监控最佳实践

Focus on Key Metrics

Capgo的生产应用分析(共750项) [1] 高亮显示需要监控的关键指标:

  • 更新成功率:目标至少达到82%
  • 更新速度:全球CDN应在114毫秒内传输5MB
  • 用户采纳率:24小时内应有95%的用户更新
  • API响应时间:应小于500毫秒(全球平均值为434毫秒)

设置警报,以快速检测这些指标的任何偏差

创建有效的警报规则

以下是一个如何配置性能监控警报的示例:

// Example alert configuration
{
    performance: {
        apiLatency: {
            threshold: 1000, // ms
            period: "5m",
            condition: "above"
        },
        errorRate: {
            threshold: 1.0, // percentage
            period: "15m",
            condition: "above"
        },
        updateSuccess: {
            threshold: 75, // percentage
            period: "1h",
            condition: "below"
        }
    }
}

持续监控和调整

一旦您的警报规则建立,重点关注持续监控和优化:

  • 定期性能检查:通过地区查看更新成功率、分析不同应用版本的错误趋势以及在高峰时段监控API响应时间。

  • 阶段性更新:首先在24小时内将10%的用户作为测试组。若一切顺利,则在48小时内稳定后,增加到50%并最终完成更新。

  • 持续优化:调查更新失败的原因、识别慢速API端点以及评估用户在更新后是否有持续的提高。

Capgo 更新和监控

Capgo 实时更新控制台界面

Capgo 核心功能

Capgo 的实时更新系统,经过 750 个生产应用的测试,仅需 114ms 即可打包 5MB 的文件 [1].

关键功能包括:

  • 实时分析:监控更新成功率,目前全球平均值为 82% [1].
  • 即时部署:无需等待应用商店审批即可推送关键修复.
  • 部分更新:仅下载更改的组件,节省带宽和时间.
  • 版本控制:快速回滚对性能产生负面影响的更新.

该系统轻松与现有监控工具集成,确保平稳运行。

“We rolled out Capgo OTA updates in production for our user base of +5000. We’re seeing very smooth operation almost all our users are upto date within minutes of the OTA being deployed to @Capgo.” - colenso [1]

我们在生产环境中部署了超过 5000 名用户的Capgo OTA 更新。我们看到 OTA 部署到 @__CAPGO_KEEP_1__ 后,几乎所有用户都在几分钟内更新到最新版本。

将工具与Capgo结合

__CAPGO_KEEP_0__ 的分析功能支持分阶段发布,帮助团队在发布前确保稳定性。Capgo Integration__CAPGO_KEEP_0__ 集成
额外工具错误跟踪内置错误监控
与 Sentry 配对以获取详细的堆栈跟踪性能指标使用 Firebase 进行用户交互数据
响应时间API 响应监控通过自定义 Firebase 定时事件来增强

为了有效配置 Capgo 的通道系统:

  • 首先将更新部署给 beta 测试者。
  • 使用 Capgo 的分析来监控性能指标。
  • 逐渐扩大对更广泛用户基数的部署。

“我们实践敏捷开发,@Capgo 在持续为用户交付方面是 mission-critical 的!” - Rodrigo Mantica [1]

全球共有 23.5M 次更新,Capgo 的实时仪表板提供了清晰的见解,使团队能够对更新和性能改进做出明智的决定。

下一步

主要点

监控关键指标对于有效的性能监控至关重要。使用工具跟踪这些关键指标:

指标类型关键关注领域推荐工具
应用性能响应时间、崩溃Firebase Performance
错误跟踪异常率、堆栈跟踪Sentry
更新分析分布式成功Capgo 分析

深入了解这些指标和工具的资源。

了解更多

性能监控工具和实践一直在进步。通过浏览这些指南和策略,始终保持领先地位:

官方文档:

  • Firebase Performance Monitoring 文档
  • Sentry 的 Capacitor 集成指南
  • Capacitor 的官方性能优化指南

高级实施探索 Capgo 的分析系统,成功用于超过 750 个生产应用 [1]. 他们的文档提供了监控模式和实时更新策略的见解,这些策略与其他性能跟踪工具无缝集成。

Keep going from Set Up Performance Monitoring in Capacitor

如果您正在使用 在Capacitor中设置性能监控 为了计划原生插件工作,连接它与 Capgo原生插件目录 在Capgo原生插件目录中, Capacitor插件由Capgo 在Capacitor插件由Capgo中, 添加或更新插件 添加或更新插件的实现细节 Ionic企业插件替代品 在Ionic企业插件替代品中, Capgo原生构建 为产品工作流程中的Capgo原生构建做准备。

Capacitor 应用程序的实时更新

当有 web 层 bug 时,通过 Capgo 将修复推送给用户,而不是等待几天的 app store 审批。用户在后台接收更新,而原生变化仍然在正常的审批路径中。

立即开始

最新博客文章

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。