Flutter性能监控与优化插件fasttrack的使用

发布于 1周前 作者 sinazl 来自 Flutter

Flutter性能监控与优化插件Fasttrack的使用

Fasttrack 是一个命令行工具,用于控制在 Google Play 商店或 Apple App Store 中的应用版本发布。它旨在简化多应用 Flutter 项目的版本创建、设置发布属性以及控制应用版本发布的任务。

支持的功能

  • 应用及 Play 商店发布状态
  • App Store 版本创建
  • App Store 提交审核
  • Play 商店版本升级
  • App Store 分阶段发布更新
  • Play 商店分阶段发布更新

尚不支持的功能

  • iOS 构建代码签名
  • App Store 归档上传
  • Play 商店捆绑包上传

安装

安装 Fasttrack 工具,使其全局可用在命令行中:

dart pub global activate fasttrack

配置

Fasttrack 的配置文件 config.yaml 位于项目根目录下的 fasttrack 目录中。

metadata:
  dir: . # 项目元数据(如发布说明)所在的目录
appStore: # 定义 App Store 相关配置
  credentials:
    keyFile: auth_key.pem # 私钥文件路径
    keyId: # 提供的认证密钥 ID
    issuerId: # 发行商的发行人 ID
  release: # 所有应用配置的默认发布设置,可以为每个应用单独覆盖
    phased: false # 是否默认进行分阶段发布
    manual: false # 是否默认手动发布
  apps: # 定义每个应用的特定发布配置
    id: 111111111 # 只定义应用 ID 并使用通用发布设置
    id2: # 为每个应用单独覆盖发布设置
      appId: 22222222
      phased: true
      manual: true
playStore: # 定义 Play 商店相关配置
  keyFile: auth_key.json # 认证文件路径
  rollout: 0.1 # 当将应用版本提升到发布轨道时的初始发布比例
  apps: # 每个应用的特定发布配置
    id: package.name.1 # 直接指定应用 ID 并使用默认发布配置
    id2: # 为每个应用单独覆盖发布比例
      packageName: package.name.2
      rollout: 0.2

要获取您的认证凭据,请参阅对应的文档:

命令

您可以始终使用 --help 选项来获取所有可用的命令和选项列表。默认情况下,所有命令都会对配置文件中定义的所有应用运行操作。可以通过指定 --app-a 选项来仅对一个或一组应用运行命令。

fastrack appstore status --app id
fastrack playstore status -a id

Fasttrack 会使用项目 pubspec.yaml 文件中版本属性找到的版本和构建号。可以通过定义 --version-v 参数来针对特定版本运行命令。

所有修改命令都会向用户显示提示,必须确认后才能执行操作。对于 CI/CD 系统,可以通过使用 --no-check 选项来抑制此提示。

Play 商店命令

Fasttrack 提供了一组命令来控制应用在 Google Play 商店的发布。这些命令可以通过调用 fasttrack 并使用 playstoreps 子命令来访问。

所有 Play 商店命令都提供了 --dry-run 标志,可用于在实际更改之前验证命令是否正确。

发布状态

获取所有已配置应用的发布状态:

fastrack playstore status [--help] [--app] [--version] [--track] [--dry-run]

当不带参数运行命令时,Fasttrack 会获取当前项目 pubspec.yaml 文件中找到的版本的发布状态。通过提供 --version-v 选项,可以查看特定版本的发布状态。当使用 --version 选项并指定 live 时,可以查看当前在线或正在进行滚动发布的版本的发布状态。

fasttrack playstore status --version 3.16.1
fasttrack ps status -v live

默认情况下,Fasttrack 会获取应用在 release 轨道上的状态。如果想要获取在 internalalphabeta 轨道上的状态,请使用 --track 选项指定特定轨道。

fasttrack playstore status --track internal

发布升级

从一个轨道升级到另一个轨道。可选地定义在其他轨道完成升级/审核后发布的用户比例。

fasttrack playstore promote [--help] [--app] [--version] [--track=internal] [--to=production] [--rollout] [--no-check] [--dry-run]

默认情况下,Fasttrack 会将应用从 internal 轨道提升到 production 轨道。如果希望将应用从 alphabeta 轨道提升,则使用 --track 选项指定所需轨道。要将 alphabeta 轨道作为升级的目标,请使用 --to 选项指定目标轨道。

fasttrack playstore promote --track alpha --to beta

默认情况下,Fasttrack 会根据配置文件中的 rollout 参数定义的用户比例发布应用。可以通过指定 --rollout 选项覆盖配置的发布比例。比例为 0 会将应用版本作为草稿发布。比例为 1 会在发布后完全释放应用版本。介于 01 之间的比例会将应用版本发布给相应百分比的用户。比例也可以定义为 0%100% 之间的百分比。

fasttrack playstore promote --rollout 0.2
fasttrack ps promote --r 100%

发布更新

更新、暂停或完成当前正在进行滚动发布的应用版本。

要更新滚动发布百分比,可以使用 update 子命令并指定所需百分比。

fastrack playstore rollout update 0.5
fasttrack ps rollout update 50%

使用 halt 子命令暂停当前应用版本的滚动发布。暂停后的应用版本稍后可以通过 update 子命令恢复。

fasttrack playstore rollout halt

要最终完成滚动发布并将您的应用版本交付给所有用户,可以使用 complete 子命令。

fasttrack playstore rollout complete

更多关于Flutter性能监控与优化插件fasttrack的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter性能监控与优化插件fasttrack的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成和使用fasttrack插件来进行性能监控与优化的代码案例。fasttrack是一个用于Flutter应用的性能监控和优化工具,可以帮助开发者识别和解决性能瓶颈。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加fasttrack的依赖:

dependencies:
  flutter:
    sdk: flutter
  fasttrack: ^最新版本号  # 请替换为最新的版本号

然后运行flutter pub get来安装依赖。

2. 初始化Fasttrack

在你的Flutter应用的入口文件(通常是main.dart)中初始化Fasttrack

import 'package:flutter/material.dart';
import 'package:fasttrack/fasttrack.dart';

void main() {
  // 初始化Fasttrack
  Fasttrack.initialize(
    appKey: '你的AppKey', // 请替换为你的实际AppKey
    enableLog: true,      // 是否开启日志输出,开发阶段可以开启,生产环境建议关闭
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Text('Hello, Flutter with Fasttrack!'),
      ),
    );
  }
}

3. 使用Fasttrack进行性能监控

fasttrack插件提供了多种性能监控功能,例如FPS监控、CPU使用率监控、内存使用监控等。你可以根据需要启用这些功能。

FPS监控

要启用FPS监控,你可以在应用的适当位置添加以下代码:

void startFPSMonitor() {
  Fasttrack.startFPSMonitor().then((result) {
    print('FPS Monitor Started: $result');
  });
}

void stopFPSMonitor() {
  Fasttrack.stopFPSMonitor().then((result) {
    print('FPS Monitor Stopped: $result');
  });
}

你可以在应用的某个生命周期方法中调用这些函数,例如在initStatedispose中:

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
    startFPSMonitor();
  }

  @override
  void dispose() {
    stopFPSMonitor();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Text('Hello, Flutter with Fasttrack!'),
      ),
    );
  }
}

CPU和内存监控

类似地,你可以启用CPU和内存监控:

void startCPUAndMemoryMonitor() {
  Fasttrack.startCPUAndMemoryMonitor().then((result) {
    print('CPU and Memory Monitor Started: $result');
  });
}

void stopCPUAndMemoryMonitor() {
  Fasttrack.stopCPUAndMemoryMonitor().then((result) {
    print('CPU and Memory Monitor Stopped: $result');
  });
}

同样,在适当的生命周期方法中调用这些函数:

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
    startFPSMonitor();
    startCPUAndMemoryMonitor();
  }

  @override
  void dispose() {
    stopFPSMonitor();
    stopCPUAndMemoryMonitor();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Text('Hello, Flutter with Fasttrack!'),
      ),
    );
  }
}

4. 查看监控数据

监控数据通常会发送到你在Fasttrack后台配置的服务器或平台上,你可以登录到相应的后台系统查看详细的性能监控报告。

注意事项

  • 确保你已经正确配置了FasttrackappKey和其他必要参数。
  • 在生产环境中,建议关闭日志输出以减少性能开销。
  • 根据你的应用需求,选择合适的监控功能,避免不必要的性能开销。

以上就是在Flutter项目中集成和使用fasttrack插件进行性能监控与优化的基本步骤和代码案例。希望这对你有所帮助!

回到顶部