Flutter应用性能监控插件aliyun_arms的使用

Flutter应用性能监控插件aliyun_arms的使用

Getting Started(入门)

本项目是一个新的Flutter插件项目,专门包含针对Android和/或iOS平台的特定实现代码。

对于如何开始Flutter开发的帮助,请查看在线文档,其中提供了教程、示例、移动开发指导和完整的API引用。

使用说明

本插件用于在Flutter应用中集成阿里云应用性能管理服务。以下是详细的使用步骤及代码示例。

初始化插件

首先,在main.dart文件中初始化插件,并设置必要的参数。

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:aliyun_arms/aliyun_arms.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  AliyunArms.init(
      appkey: '333869771',
      appVersion: 'V1.0.1',
      appSecret: 'ccc565b6f1bc4187a853cf0ce9ec420d',
      isAndroidRsaSecret: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCR4I3JYsfArCw1f025qpuaeTU0cPC6VDwMGPfDeGLyAM432wXZMvFIm2U2w78t3f/WenL8zUYZ6AgTgOapuY3h8vGm5V4HI8/QzDXl+lHhkq+Vhlvi2upkwdVicFborBHVjSdvJK9Z97+JHyl6syJ1xDZ8OkYz5UjKiP29LDjDAQIDAQAB',
      channel: 'huawei',
      userNick: 'mendianHexiao',
      isAliyunos: '1');
  AliyunArms.postCatchedException(() => runApp(const MyApp()), debugUpload: true);
}

主应用类

接下来,定义主应用类MyApp,并在其中进行一些初始化操作。

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';
  final _aliyunArmsPlugin = AliyunArms();

  [@override](/user/override)
  void initState() {
    super.initState();
    initPlatformState();
  }

  // 异步获取平台版本信息
  Future<void> initPlatformState() async {
    String platformVersion;
    try {
      platformVersion = await _aliyunArmsPlugin.getPlatformVersion() ?? 'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return GetMaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('插件示例应用'),
        ),
        body: Column(children: [
          Center(
            child: Text('运行于: $_platformVersion\n'),
          ),
          TextButton(
              onPressed: () async {
                String isok = await AliyunArms.init(
                    appkey: '333871883',
                    appVersion: 'V1.0.1',
                    appSecret: '457e37fe28404aaca94500e1b4191dd4',
                    isAndroidRsaSecret: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCR4I3JYsfArCw1f025qpuaeTU0cPC6VDwMGPfDeGLyAM432wXZMvFIm2U2w78t3f/WenL8zUYZ6AgTgOapuY3h8vGm5V4HI8/QzDXl+lHhkq+Vhlvi2upkwdVicFborBHVjSdvJK9Z97+JHyl6syJ1xDZ8OkYz5UjKiP29LDjDAQIDAQAB',
                    channel: 'huawei',
                    userNick: 'mendianHexiao',
                    isAliyunos: '0');
                if (isok == 'ok') {
                  // 忽略同步上下文
                }
              },
              child: const Text('初始化阿里云ARMS')),
          TextButton(
              onPressed: () {
                AliyunArms.uploadCustomer({'key': 'key01', 'value': 'value01'});
              },
              child: const Text('上传客户数据')),
          TextButton(
              onPressed: () {
                // AliyunArms.uploadException({'key': 'key02', 'value': 'value02'});
              },
              child: const Text('上传异常数据')),
          TextButton(
              onPressed: () {
                Get.bottomSheet(Column(
                  children: [const Text('测试').sliverBox],
                ));
                AliyunArms.uploadError('上传失败');
              },
              child: const Text('上传错误信息')),
          TextButton(
              onPressed: () {
                AliyunArms.uploadTest();
              },
              child: const Text('上传测试数据'))
        ]),
      ),
    );
  }
}

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

1 回复

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


阿里云的应用实时监控服务(ARMS)提供了一个Flutter插件 aliyun_arms,用于监控Flutter应用的性能数据。通过集成该插件,开发者可以收集应用的崩溃、卡顿、网络请求等性能数据,并在阿里云ARMS控制台上查看分析。

以下是使用 aliyun_arms 插件的步骤:

1. 创建ARMS应用

首先,你需要在阿里云ARMS控制台上创建一个应用,并获取应用的AppKey和AppSecret。这些信息将用于初始化 aliyun_arms 插件。

2. 添加依赖

pubspec.yaml 文件中添加 aliyun_arms 插件的依赖:

dependencies:
  aliyun_arms: ^1.0.0  # 请使用最新版本

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

3. 初始化插件

main.dart 文件中初始化 aliyun_arms 插件。通常在 main() 函数中进行初始化:

import 'package:aliyun_arms/aliyun_arms.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化ARMS插件
  await AliyunArms.init(
    appKey: 'your_app_key',          // 替换为你的AppKey
    appSecret: 'your_app_secret',    // 替换为你的AppSecret
    channel: 'official',             // 渠道标识,可选
    version: '1.0.0',                // 应用版本号,可选
    enableCrashReporter: true,       // 是否启用崩溃报告,默认为true
    enablePerformanceMonitor: true,  // 是否启用性能监控,默认为true
  );

  runApp(MyApp());
}

4. 配置崩溃捕获

aliyun_arms 插件会自动捕获应用的崩溃信息。你可以在 init 方法中通过 enableCrashReporter 参数来控制是否启用崩溃捕获功能。

5. 自定义监控

你还可以通过 AliyunArms 提供的其他方法来手动记录自定义事件或错误:

// 记录自定义事件
AliyunArms.logEvent('custom_event', {'key': 'value'});

// 记录错误
AliyunArms.logError('error_message', 'error_stack_trace');

6. 查看监控数据

完成上述步骤后,你可以在阿里云ARMS控制台上查看应用的性能监控数据,包括崩溃日志、卡顿信息、网络请求等。

7. 调试与日志

在开发过程中,你可以通过以下方法查看插件的调试日志:

AliyunArms.setLogEnabled(true);  // 启用日志输出
回到顶部