跳过主要内容

设置Capacitor中的性能监控

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

在Capacitor中设置性能监控

想优化你的 Capacitor 应用的性能? 监控工具如 Firebase 和 Sentry 可以帮助你追踪崩溃、资源使用情况和响应时间,确保用户体验更加流畅。以下是快速概述:

  • 为什么监控性能:识别崩溃、优化资源使用和改善响应时间。
  • 使用的工具:
  • 设置步骤:
    • 安装Firebase或SentrySDK
    • 配置应用程序以跟踪性能指标或错误
    • 使用仪表板分析和改进应用程序性能

快速比较:

功能 Firebase Sentry
实时监控 轻微延迟 几乎即刻
原生支持 安卓, iOS 安卓, iOS, Web
自定义指标 基础 灵活
Capacitor集成复杂度 基于Google的工作流程 简单的SDK设置

为了实时更新,集成工具如 Capgo 在Capgo上提交PR

__CAPGO_KEEP_0__ Firebase 通过

Firebase

Firebase平台控制台

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

工具比较

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

选择标准

考虑这些工具时,请考虑以下几点:

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

Firebase 配置指南

在您的 Capacitor 应用程序 中设置 Firebase 性能监控

Install Firebase SDK

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

  • 安装 Firebase 依赖项

运行以下命令来安装必要的 Firebase 包。请参阅 @capgo/capacitor-firebase-性能监控 和 @capgo/capacitor-firebase-crashlytics Capacitor 插件页面,查看完整设置细节。

npm install @capgo/capacitor-firebase-performance
npm install 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();
  • 在主应用文件中设置 Firebase:

添加平台配置 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 控制台提供工具来深入了解错误并更好地理解它们:

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

本仪表板使诊断和修复问题变得简单。

监控最佳实践

关注关键指标

Capgo对750个生产应用程序的分析 [1] 突出了需要监控的关键指标:

  • 更新成功率: 尽量达到82%以上。
  • 更新速度: 全球 CDN 应该在 114 ms 内传输 5 MB。
  • 用户采纳率: 24 小时内,95% 的用户应该更新。
  • API 响应时间: 保持在 500 ms 以下(全球平均值为 434 ms)。

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

创建有效的警报规则

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

// 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%的用户。如果一切顺利,24小时后增加到50%,48小时后发布

  • 持续优化:调查失败的更新,找出API接口的性能瓶颈,评估用户在更新后对产品的参与度,以确保持续改进

Capgo 更新和监控

Capgo Live Update控制面板

Capgo核心功能

Capgo的live update系统,经过750个生产应用的测试,仅需114ms即可打包5MB的bundle [1].

关键功能包括:

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

该系统与现有监控工具集成得很好,确保smooth操作。

“我们在生产环境中部署了Capgo OTA更新,用户数量超过5000。我们看到的结果非常smooth,几乎所有用户在Capgo OTA部署后几分钟内就已经更新了。” - colenso [1]

结合工具与Capgo

Capgo的分析功能支持分阶段发布,帮助团队确保稳定性在全面发布之前。

监控方面 Capgo集成 額外工具
错误追踪 内置错误监控 与 Sentry 配对获取详细的堆栈跟踪
性能指标 跟踪更新成功率 使用 Firebase 获取用户交互数据
响应时间 API 响应监控 通过自定义 Firebase Timing 事件来增强

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

  • 首先将更新部署到 beta 测试者
  • 使用Capgo的分析工具来监控性能指标。
  • 逐步扩大到更广泛的用户群。

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

全球共交付了 2,350 万次更新,Capgo的实时仪表盘提供了清晰的见解,使团队能够做出明智的决策,改善更新和性能。

下一步

主要点

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

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

通过以下资源深入了解这些指标和工具。

了解更多

上下文:Capgo 营销网站。角色:短 UI 标签或导航项。见于:组件定价/Faq.astro, 页面集成.astro。消息键 `learn_more` (了解更多)。

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

  • 官方文档说明书
  • Sentry 的 Capacitor 集成指南
  • Capacitor 的官方性能优化指南

高级实现: 探索 Capgo 的分析系统,成功用于超过 750 个生产应用 [1]. 他们的文档提供了监控模式和 live update 策略的见解,能够与其他性能跟踪工具无缝整合。

继续设置Capacitor性能监控

如果您正在使用 Set Up Performance Monitoring in Capacitor 来规划原生插件工作,连接它与 Capgo 插件目录 为Capacitor产品工作流程在Capgo插件目录中 Capacitor 插件由 Capgo 提供 Capacitor 中的 Capacitor 插件细节由 Capgo 提供。 添加或更新插件 为添加或更新插件的实现细节 Ionic 企业插件替代品 为 Ionic 企业插件替代品的产品工作流程,并且 Capgo 原生构建 为 Capgo 原生构建的产品工作流程。

实时更新的Capacitor应用

当web层bug处于活跃状态时,通过Capgo将修复推送到应用,而不是等待应用商店批准。用户在后台接收更新,而原生更改保持在正常的审查路径中。

来自马丁的人性化支持

立即开始

最新博客

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