Flutter崩溃报告与错误监控插件flutter_bugly_play的使用
Flutter崩溃报告与错误监控插件flutter_bugly_play的使用
腾讯Bugly flutter运营统计插件,带更新功能请至flutter_bugly
支持Android/iOS 运营统计、原生异常上报、flutter异常上报、应用更新
一、引入
在pubspec.yaml
文件中添加依赖:
dependencies:
flutter_bugly_play: lastVersion
二、项目配置
在android/app/build.gradle
文件中进行以下配置:
lintOptions {
// 如打包出现Failed to transform libs.jar to match attributes
checkReleaseBuilds false
}
defaultConfig {
ndk {
// 设置支持的SO库架构
abiFilters 'armeabi-v7a'//, 'arm64-v8a', 'x86', 'x86_64'
}
}
三、使用
首先导入插件并初始化:
import 'package:flutter_bugly/flutter_bugly.dart';
// 使用flutter异常上报
void main() => FlutterBugly.postCatchedException(
() => runApp(MyApp()),
debugUpload: true, // 在调试模式下上传错误日志
);
// 初始化插件
FlutterBugly.init(
androidAppId: "your android app id", // Android应用ID
iOSAppId: "your iOS app id", // iOS应用ID
// 自动检查更新功能(可选)
// autoCheckUpgrade: true,
// checkUpgradeCount: 0,
// upgradeCheckPeriod: 60,
);
四、release打包(Android)
64-bit
flutter build apk --release --target-platform android-arm64
32-bit(目前配合armeabi-v7a
可以打出32位64位通用包)
flutter build apk --release --target-platform android-arm
五、支持属性(Android)
以下是一些常用的API示例:
String channel, // 自定义渠道标识
int initDelay = 0, // 延迟初始化,单位秒
// 设置用户ID
FlutterBugly.setUserId("user id");
// 添加用户数据
FlutterBugly.putUserData(key: "key", value: "value");
// 设置用户标签
int tag = 9527;
FlutterBugly.setUserTag(tag);
完整示例代码
以下是完整的示例代码,展示如何集成和使用flutter_bugly_play
插件。
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter_bugly/flutter_bugly.dart';
void main() => FlutterBugly.postCatchedException(
() => runApp(MyApp()),
debugUpload: true, // 在调试模式下上传错误日志
);
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
[@override](/user/override)
State<StatefulWidget> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String _platformVersion = 'Unknown';
[@override](/user/override)
void initState() {
super.initState();
// 初始化插件
FlutterBugly.init(
androidAppId: "5346b6e5bb", // 替换为你的Android App ID
iOSAppId: "your app id", // 替换为你的iOS App ID
// 自动检查更新功能(可选)
// autoCheckUpgrade: true,
// checkUpgradeCount: 0,
// upgradeCheckPeriod: 60,
).then((_result) {
setState(() {
_platformVersion = _result.message;
print(_result.appId);
});
});
// 设置用户ID
FlutterBugly.setUserId("user id");
// 添加用户数据
FlutterBugly.putUserData(key: "key", value: "value");
// 设置用户标签
int tag = 9527;
FlutterBugly.setUserTag(tag);
// 自动检查更新功能时,可以省略手动检查
// if (mounted) _checkUpgrade();
}
[@override](/user/override)
void dispose() {
super.dispose();
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: GestureDetector(
onTap: () {
throw 'test'; // 模拟抛出异常
},
child: Center(
child: Text('init result: $_platformVersion\n'),
),
),
);
}
}
更多关于Flutter崩溃报告与错误监控插件flutter_bugly_play的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter崩溃报告与错误监控插件flutter_bugly_play的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_bugly_play
是一个用于 Flutter 应用的崩溃报告和错误监控插件,它集成了腾讯的 Bugly 服务。通过使用这个插件,你可以轻松地监控应用的崩溃情况、捕获异常、收集用户反馈,并生成详细的崩溃报告。
1. 安装 flutter_bugly_play
插件
首先,你需要在 pubspec.yaml
文件中添加 flutter_bugly_play
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_bugly_play: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装插件。
2. 配置 Bugly
在使用 flutter_bugly_play
之前,你需要在腾讯 Bugly 平台上注册一个应用,并获取到 App ID
和 App Key
。
3. 初始化 Bugly
在你的 Flutter 应用启动时,初始化 flutter_bugly_play
插件。通常可以在 main.dart
文件中进行初始化:
import 'package:flutter/material.dart';
import 'package:flutter_bugly_play/flutter_bugly_play.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 Bugly
await FlutterBuglyPlay.init(
androidAppId: 'your_android_app_id', // Android 应用的 App ID
iOSAppId: 'your_ios_app_id', // iOS 应用的 App ID
debugMode: true, // 是否开启调试模式
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
4. 捕获异常
flutter_bugly_play
会自动捕获 Flutter 框架中的异常,并将其上报到 Bugly 平台。你还可以手动捕获并上报自定义异常:
try {
// 你的代码
} catch (e, stackTrace) {
// 手动上报异常
FlutterBuglyPlay.postException(
error: e.toString(),
stackTrace: stackTrace.toString(),
);
}
5. 用户反馈
你可以在应用中集成 Bugly 的用户反馈功能,让用户能够直接提交反馈:
FlutterBuglyPlay.showFeedbackPage();
6. 自定义日志
你还可以使用 flutter_bugly_play
来记录自定义日志,这些日志会与崩溃报告一起上报到 Bugly 平台:
FlutterBuglyPlay.log('This is a custom log message');
7. 查看崩溃报告
在 Bugly 平台上,你可以查看应用的崩溃报告、异常统计、用户反馈等信息。通过这些数据,你可以快速定位和修复应用中的问题。
8. 其他功能
flutter_bugly_play
还提供了其他一些功能,例如:
-
设置用户标识:你可以为每个用户设置一个唯一的标识,方便在 Bugly 平台上区分不同用户的崩溃报告。
FlutterBuglyPlay.setUserId('user123');
-
设置标签:你可以为崩溃报告设置标签,方便分类和过滤。
FlutterBuglyPlay.setTag(1);