Flutter遥测数据收集插件telemetry_sh的使用
Flutter遥测数据收集插件telemetry_sh的使用
Telemetry Sh
一个用于Dart的简单遥测日志SDK。
安装 💻
要在你的机器上开始使用Telemetry Sh,你必须安装Dart SDK。
通过dart pub add
安装:
dart pub add telemetry_sh
特性
- 将数据记录到特定表中。
- 使用SQL查询查询遥测数据。
- 简单易用的接口。
- 支持额外参数进行自定义。
使用 🚀
-
导入包
import 'package:telemetry_sh/telemetry_sh.dart';
-
初始化Telemetry Sh实例
final telemetry = TelemetrySh('YOUR_API_KEY');
-
记录数据到表中
await telemetry.log('table_name', {'key': 'value'});
-
查询遥测数据
final data = await telemetry.query('SELECT * FROM table_name');
持续集成 🤖
Telemetry Sh自带了一个由Very Good Workflows支持的GitHub Actions工作流。你也可以添加自己的CI/CD解决方案。
默认情况下,在每次拉取请求和推送时,CI会格式化、校验并测试代码。这确保了代码的一致性和正确性。项目使用Very Good Analysis进行严格的分析选项。覆盖率使用Very Good Workflows来强制执行。
运行测试 🧪
要运行所有单元测试:
dart pub global activate coverage 1.2.0
dart test --coverage=coverage
dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info
要查看生成的覆盖率报告,可以使用lcov。
# 生成覆盖率报告
genhtml coverage/lcov.info -o coverage/
# 打开覆盖率报告
open coverage/index.html
示例代码
example/main.dart
import 'dart:developer';
import 'package:telemetry_sh/telemetry_sh.dart';
void main(List<String> args) async {
// 初始化Telemetry Sh实例,并传入API密钥
final telemetry = TelemetrySh('test_api_key');
// 记录用户数据到users表
final logResponse = await telemetry.log(
'users',
{
'name': 'John Doe',
'email': 'john.doe@test.com',
},
);
// 打印日志响应
log('Log response: $logResponse');
// 查询users表中的所有数据
final queryResponse = await telemetry.query('SELECT * FROM users');
// 打印查询响应
log('Query response: $queryResponse');
}
更多关于Flutter遥测数据收集插件telemetry_sh的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter遥测数据收集插件telemetry_sh的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
telemetry_sh
是一个用于 Flutter 应用的遥测数据收集插件。它可以帮助开发者收集应用的性能和用户行为数据,以便进行分析和优化。以下是使用 telemetry_sh
插件的基本步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 telemetry_sh
插件的依赖:
dependencies:
flutter:
sdk: flutter
telemetry_sh: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 初始化插件
在你的 Flutter 应用的入口文件(通常是 main.dart
)中初始化 telemetry_sh
插件:
import 'package:flutter/material.dart';
import 'package:telemetry_sh/telemetry_sh.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 telemetry_sh
await TelemetrySh.initialize(
apiKey: 'YOUR_API_KEY', // 替换为你的 API Key
appId: 'YOUR_APP_ID', // 替换为你的 App ID
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Telemetry Example',
home: MyHomePage(),
);
}
}
3. 收集数据
telemetry_sh
提供了多种方法来收集数据,例如事件、错误、性能指标等。你可以在应用中的适当位置调用这些方法来收集数据。
记录事件
TelemetrySh.logEvent('button_clicked', parameters: {'button_id': 'login_button'});
记录错误
try {
// 一些可能抛出异常的代码
} catch (e, stackTrace) {
TelemetrySh.logError(e, stackTrace);
}
记录性能指标
TelemetrySh.logMetric('page_load_time', 120); // 120 ms
4. 配置与自定义
telemetry_sh
提供了多种配置选项,允许你根据需求进行自定义。例如,你可以设置用户标识、配置数据上传频率等。
设置用户标识
TelemetrySh.setUserIdentifier('user_123');
配置数据上传频率
TelemetrySh.setUploadInterval(Duration(minutes: 5));
5. 上传数据
telemetry_sh
会自动在后台上传收集的数据。你也可以手动触发数据上传:
await TelemetrySh.upload();
6. 处理隐私和合规性
在使用遥测数据收集功能时,确保遵守当地的法律法规(如 GDPR、CCPA 等)。你可以在初始化时配置是否启用数据收集,并根据用户的隐私设置进行调整。
TelemetrySh.setDataCollectionEnabled(true); // 或 false
7. 查看和分析数据
收集到的数据通常会发送到你配置的遥测服务器或第三方服务(如 Firebase、Google Analytics 等)。你可以通过这些平台查看和分析数据,以优化应用性能和用户体验。
8. 调试与测试
在开发和测试阶段,你可以启用调试模式来查看日志输出,确保数据收集和上传功能正常工作。
TelemetrySh.setDebugModeEnabled(true);