# flutter_bugly_ohos **Repository Path**: MTChannn/flutter_bugly_ohos ## Basic Information - **Project Name**: flutter_bugly_ohos - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-11 - **Last Updated**: 2025-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FlutterBuglyOhos 插件 ## 概述 `FlutterBuglyOhos` 是一个 Flutter 插件,集成了 [Bugly SDK](https://ohpm.openharmony.cn/#/cn/detail/bugly) 用于 OpenHarmony,捕获、报告和管理错误与并允许动态更新设备和用户信息。 更多详情可参考 [Bugly SDK 接入文档](https://bugly.tds.qq.com/docs/sdk/harmony/) ## 功能 - **初始化 Bugly**: 设置 Bugly SDK 用于报告错误。 - **更新用户信息**: 更新用户 ID、设备 ID 和设备型号。 - **添加自定义数据**: 动态添加或更新自定义用户数据。 - **异常处理**: 捕获异常并将其报告到 Bugly。 ## 安装 1. 在 `pubspec.yaml` 中添加 `flutter_bugly_ohos` 插件: ```yaml dependencies: flutter: sdk: flutter flutter_bugly_ohos: ^1.0.0 ``` 2. 确保您的 Flutter 环境已设置为支持 OpenHarmony 开发。 ## 使用 ### 1. **初始化** 要初始化 Bugly,请提供必填的 `appId`、`appKey` 和 `deviceId` 参数。您还可以提供其他可选参数,如 `appVersion`、`buildNum` 和 `deviceModel`等。 ```dart FlutterBuglyOhos.init( appId: "your-app-id", // 填入 Bugly 平台获取的 appId appKey: "your-app-key", // 填入 Bugly 平台获取的 appKey deviceId: "your-device-id", // 填入 设备 的 deviceId ); ``` ### 2. **更新用户信息** 您可以动态更新用户 ID、设备 ID 和设备型号。 ```dart FlutterBuglyOhos.updateUserId("newUserId"); FlutterBuglyOhos.updateDeviceId("newDeviceId"); FlutterBuglyOhos.updateDeviceModel("newDeviceModel"); ``` ### 3. **添加/更新自定义数据** 您可以添加或更新与用户相关的自定义数据。 ```dart FlutterBuglyOhos.putUserData("userKey", "userValue"); ``` ### 4. **处理异常** 使用 `catchException` 来捕获异常并将其报告到 Bugly。 ```dart FlutterBuglyOhos.catchException(() { throw Exception("This is a test exception"); }); ``` ### 5. **报告自定义错误** 如果您想报告自定义错误,可以使用 `postCustomError`。 ```dart FlutterBuglyOhos.postCustomError( "CustomError", "This is a custom error message", "Custom stack trace info" ); ``` ## 方法概览 ### `init` ```dart static Future init({ required String appId, // 必填,Bugly 产品信息中的 APP ID required String appKey, // 必填,Bugly 产品信息中的 APP KEY required String deviceId, // 必填,设备 ID,确保设备之间唯一 String? appVersion, // 选填,App 版本 String? buildNum, // 选填,构建号 String? appChannel, // 选填,App 渠道 String? userId, // 选填,用户 ID String? deviceModel, // 选填,设备型号 bool debugMode = true, // 选填,调试模式下打印详细日志 int initDelay = 0, // 选填,延迟初始化时间(单位:ms) }); ``` 初始化 Bugly,提供 `appId`、`appKey` 和 `deviceId` 作为必填项,其他参数为可选。 ### `updateUserId` ```dart static Future updateUserId(String userId); ``` 更新 Bugly 中的用户 ID。 ### `updateDeviceId` ```dart static Future updateDeviceId(String deviceId); ``` 更新 Bugly 中的设备 ID。 ### `updateDeviceModel` ```dart static Future updateDeviceModel(String deviceModel); ``` 更新 Bugly 中的设备型号。 ### `putUserData` ```dart static Future putUserData(String key, String value); ``` 添加或更新自定义用户数据。 ### `catchException` ```dart static void catchException(void Function() callback); ``` 捕获异常并将其报告到 Bugly。 ### `postCustomError` ```dart static Future postCustomError(String name, String message, String stack); ``` 报告自定义异常到 Bugly,提供 `name`、`message` 和 `stack`。 ## 错误处理 - **初始化错误**: 如果初始化失败(例如缺少必填参数),将抛出异常。 - **自定义错误**: 您可以定义自定义错误并使用 `postCustomError` 上报到 Bugly。\ ## 许可证 本项目根据 MIT 许可证授权。请参阅 [LICENSE](LICENSE) 文件了解更多信息。 ## 贡献 欢迎贡献此项目。如果您发现 bug 或有功能请求,请提交问题,或提出合并请求以改进代码。